SwiftUI 56

[SwiftUI] List accessory (feat. disclosure indicator)

List accessory (feat. disclosure indicator) ✅ 이번에도 제목이 다소 UIKit스럽다. 저번 포스팅에서도 언급했지만, UIKit을 먼저 공부하고 SwiftUI를 하다보니까, 검색도 UIKit스럽게 하기 때문에! StackOverflow에서는 ZStack을 이용해서 해결하던데, 맘에 들지 않았다. 그래서 처음 생각! init() { UITableViewCell ... } 이렇게 해서 해결해 보려고 했는데, 근데 적용할 만한 메소드가 보이지가 않았다. 결국 StackOverflow처럼 해결해야 했는데 한번 같이 알아보자! ✅ 올바른 case import SwiftUI struct didSelectRow: View { var body: some View { Navigation..

[SwiftUI] List Row 선택하기(TableView didSelectRow)

List Row 선택하기(TableView didSelectRow) ✅ 오랜만이다! 제목이 참 UIKit스러움 제목을 이렇게 작성하게 된 이유로는 내가 1년 정도 UIKit을 사용하면서 이미 사고가 여기에 익숙해진 상태인데, SwiftUI로 List의 Row(UIKit에서 cell)을 선택하는 로직을 작성하는게 잘 아직까지는 어려운 느낌.그래서 내가 구글에 저 키워드로 검색했는데, 딱히 맘에 드는게 안나타나서 직접 정리하려고 포스팅 함. 생각보다 간단한데, 이게 참 어려웠음.우선 UIKit을 사용하다보니 tableView에서는 UITableViewDelegate를 상속받아서 didSelectRow를 구현하면 되었다.그러니까 이와 비슷하게 List의 Row에 onTapGesture를 사용하면 될거라고 생각..

[SwiftUI] LazyVGrid

LazyVGrid SwiftUI에 대해서 알아가고 있는데, UIKit에 비해서는 아직 어렵다.UIKit이라면 금방 했을탠데, 아직까지는 숙련도가 낮은 것 같아서 어렵다. 적응하면 쉬워지겠지 iOS 14 혹은 15를 타겟으로 개발하고 있는데 SwiftUI가 80프로까지는 금방 만드는데, 결국 UIKit을 사용해야하는 시점에서는 점점 손이 많이가기 시작한다.SwiftUI가 시간이 흐르면서 더 발전하겠지 ✅ 샘플코드import SwiftUIenum LayoutType: CaseIterable { case table, grid, multiple var columns: [GridItem] { switch self { case .table: return..

[SwiftUI] Picker, segmentedStyle (feat. enum CaseIterable)

Picker, segmentedStyle (feat. enum CaseIterable) (feat. enum CaseIterable)의 경우에는 따로 enum에 대해서 사용하는 방식을 포스팅 할 예정이지만, 그 전에 어떻게 사용하는지 간략하게 사용법? 정도는 나와있어서 참고해보면 좋다. 이번에는 코드를 한번 보자! ✅ Picker, segmentedStyle에 대해서 알아보자. import SwiftUI struct ContentView: View { @State private var selectionValue = 0 let myColorArray = ["레드", "그린", "블루"] func changeColor(index: Int) -> Color { switch index { case 0: retu..

SwiftUI Toast, popup

SwiftUI Toast, popup 오픈소스를 활용해서, 팝업 및 토스트 UI를 처리하는 부분을 기술.직접 구현해도 크게 어렵지 않으나, 개인 앱 개발 시 오픈소스를 활용함으로써 본질에 더 집중할 수 있다는 이점. 히스토리2022.05.23. 15:36초기 포스팅 PopupView 2점대 버전2024.11.18. 02:23PopupView 예제 개선 및 3점대 버전으로 재정리주의: 해당 오픈소스를 확장 개발하기 위해 PR 및 이슈를 검토하던 중, 메인테이너 분이 바쁘셔서 문제점을 다른 작업자의 PR을 고스란히 넣어주고 있음하지만, 개인 앱 개발에서 크리티컬한 문제가 되지 않아서 재정리 오픈소스 링크https://github.com/exyte/PopupView GitHub - exyte/PopupView..

[SwiftUI] TextField, SecureField

TextField, SecureField ✅ UIKit에서는 익숙했던 것들인데, SwiftUI에서는 낯설다. 여기서 주의할 점은 TextField의 text는 Binding이라서 @State와 $에 주의하자. TextField는 우리가 기존에 알던 TextField와 같다. SecureField는 password를 입력할 때, 글자가 보이지 않게끔 검은색 원으로 숨겨주는 필드이다. 코드가 무척 간단하니까 쓱 읽어보자! ✅ 코드 import SwiftUI struct ContentView: View { @State private var username: String = "" @State private var password: String = "" var body: some View { VStack(spac..

[SwiftUI] ButtonStyle

ButtonStyle ✅ 버튼 스타일에 대해서 알아보자 이건 진짜 어렵지가 않다. 정말정말 E A S Y 해 ! Configuration은 상속받아 들어오는 것의 상태를 받아서 쓰는것 ✅ MyBlurButtonStyle import SwiftUI struct MyBlurButtonStyle: ButtonStyle { var color : Color // Configuration 위에서 상속받는 속성 그대로 사용할 수 있게 해줌 func makeBody(configuration: Configuration) -> some View { configuration .label .font(.system(size: 20)) .foregroundColor(Color.white) .padding() .background..

[SwiftUI] QRcodeReader

QRcodeReader ✅ QRcodeReader를 알아보자. 코드는 어렵지 않다. 눈여겨 볼 점은 하나의 파일에서 여러개의 뷰를 생성하는 것을 볼 수 있겠다 🟠 아래는 오픈소스 !_! https://github.com/twostraws/CodeScanner GitHub - twostraws/CodeScanner: A SwiftUI view that is able to scan barcodes, QR codes, and more, and send back what was found. A SwiftUI view that is able to scan barcodes, QR codes, and more, and send back what was found. - GitHub - twostraws/CodeScan..

[SwiftUI] TabView + CustomTabView

TabView + CustomTabView 탭뷰는 그렇게 어렵지 않다. 하지만 커스텀 탭뷰는 탭뷰를 사용하는게 아니므로 각별히 주의하자! ✅ TabView import SwiftUI struct MyTabView : View { var body: some View{ TabView { // 탭뷰를 걸어준다. // 보여질 화면 // Text("1번") // .fontWeight(.black) // .font(.largeTitle) MyView(title: "1번", bgColor: Color.red) // 뷰 .tabItem { // 뷰에 탭 아이템을 건다! Image(systemName: "airplane") Text("1번") } .tag(0) // tag설정 // Text("2번") // .fontWe..