iOS (19) 썸네일형 리스트형 Swift UI Component 02 01. TextField - 텍스트를 입력 받을 수 있는 컴포넌트 - @FocusState가 같이 사용할 수 있음.02. DatePicker - 날짜,시간을 선택할 수 있는 컴포넌트 - compact : 기본적으로 날짜의 축소된 형태 - graphical : UI나 디바이스에 따라 다름. - wheel : 휠 형태로 제공 - automatic : - field : MacOS에서만 나옴 - stepperField : MacOS에서만 나옴03. ZStack & overlay - 한 화면에서 뷰를 겹칠때 사용됨. - overlay 현재 뷰를 기준으로 뷰를 겹치고 - ZStack 는 Z축을 기준으로 뷰를 겹친다.04. ScrollView - 좌,우측으로 스크롤 할 수 있는 컴포넌트05. Rectangle & .. Swift UI Component 01 01. Text 1 - font 2 - bold 3 - lineLimit : 줄바꿈 관련 4 - foregroundColor 5 - background 6 - strikethrough : 글가운데 수평선 7 - monospaced : 고정폭02. Image 1 - resizable : 이미지 크기 조절 2 - aspectRatio : 가로세로 비율을 유지하면서 크기 조절 3 - renderingMode : 4 - scaledToFill : 5 - scaledToFilt : 03. Button 1 - action : 버튼의 동작 구현 2 - label : 버튼의 모양04. HStack / VStack05. Spacer : 간격 만들기06. TabView 1 - automatic : 시스템 따라서 .. Swift Property Wrappers @State - SwiftUI에서 상태를 처리하는 방법 - 뷰의 상태를 저장하는 프로퍼티로 상태관리 주체는 해당 뷰 - 기본적으로 Private 선언이기에 다른 뷰와 값을 소통하려면 Binding을 이용 - 값이 변경될 때마다 UI업데이트 @Binding - 뷰와 상태를 바인딩 하는 방법 - 상위 @State 변수를 전달 받아 하위 뷰에서 캐치해 변화 감지 및 연결 - Binding은 다른 뷰가 소유한 속성을 연결하기에 소유권 및 저장 공간이 없음 @Published - ObservableObject를 구현한 클래스 내에서 프로퍼티 선언 시 사용 - @Published로 선언된 프로퍼티를 뷰에서 관찰 할 수 있음. - ObservableObject의 objectWillChage.send() 기능을 @Pu.. Swift Error 1. 에러 내용 : Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem.원인 resultString.text = "Insert String : \(nameTextFiled.text)!"해결 if let nameString = nameTextFiled.text{ resultString.text = "Insert String : \(nameString)!" } Swift List 사용해보기 import SwiftUI //리스트 데이터 모델struct MatchingList: Hashable{ let title: String let titleNum: String} struct ListView: View { //임시 데이터 @State var titleDataModel = [ MatchingList(title: "ㄱ", titleNum: "ㄴ"), MatchingList(title: "ㄷ", titleNum: "ㄹ"), MatchingList(title: "ㅁ", titleNum: "ㅂ"), MatchingList(title: "ㅅ", titleNum: "ㅇ"), MatchingList(title: "ㅈ", t.. Swift Stat 와 Binding @State는 SwiftUI에서 상태를 관리하기 위해 사용하는 속성 래퍼입니다. 뷰의 상태를 변경하고 해당 변경사항을 자동으로 반영할 수 있도록 도와줍니다.아래 예제에서 @State로 선언된 count는 버튼을 누를 때마다 증가하며, Text 뷰가 자동으로 업데이트됩니다.import SwiftUIstruct CounterView: View { @State private var count = 0 var body: some View { VStack { Text("Count: \(count)") Button("Increment") { count += 1 } } }} @Binding은 .. Swift Hashable Protocol ForEach는 식별 가능한 항목의 컬렉션을 반복하는 데 사용됩니다. 이를 위해 항목이 고유하게 식별될 수 있어야 합니다. Hashable 프로토콜을 준수하면 Swift가 자동으로 Equatable도 준수하게 됩니다. 이는 MatchingList 구조체의 인스턴스를 고유하게 식별할 수 있도록 합니다. import SwiftUI struct MatchingList: Hashable{ let title: String let titleNum: String} struct ListView: View { var titleDataModel = [ MatchingList(title: "ㄱ", titleNum: "ㄴ"), MatchingList(title: "ㄷ", ti.. Swift Day_11 제네릭 : 타입에 의존하지 않는 범용 코드 import SwiftUI struct Mygeneric: View { @State var input = "" @State var myStack = MyStackInt>() //Int, Float, String 등을 입력 하여도 문제 없다. var body: some View { VStack{ TextField("숫자를 입력해주세요" , text: $input) Button{ myStack.insertValue(input: Int(input) ?? 0 ) input = "" } label.. 이전 1 2 3 다음