일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 클린 코드
- clean architecture
- SWIFT
- uitableview
- ios
- HIG
- 리팩토링
- combine
- 애니메이션
- UICollectionView
- tableView
- MVVM
- Observable
- 리펙터링
- 리펙토링
- Clean Code
- Protocol
- collectionview
- Human interface guide
- Refactoring
- RxCocoa
- Xcode
- uiscrollview
- map
- ribs
- UITextView
- swift documentation
- rxswift
- 스위프트
- swiftUI
- Today
- Total
목록swiftUI (160)
김종권의 iOS 앱 개발 알아가기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/QPY02/btrJB3GIhi6/Y1DchJ9ddbcvRk4Vhrx1J1/img.gif)
목차) SwiftUI의 기본 - 목차 링크 Slider struct Slider where Label : View, ValueLabel : View Slide(value:in:onEditingChanged:)를 사용하여 구현 value - 초기값 in - 범위 onEditingChanged - 변경되었을때 호출되는 클로저 struct ContentView: View { @State private var value = 30.0 @State private var isEditing = false var body: some View { VStack { Slider( value: $value, in: 0...100 ) { editing in isEditing = editing } Text("\(value)") ...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l525r/btrJBKUxCkX/Kk0CncB1wvMdkq8wHFmFkk/img.gif)
목차) SwiftUI의 기본 - 목차 링크 * Picker, PickerStyle 개념은 이전 포스팅 글 참고 DatePicker DatePicker 사용 방법 DatePicker 생성자에 이름, 선택 할 @State date 프로퍼티, 날짜를 표시할것인지 시간을 표시할것인지 선택 struct ContentView: View { @State var date = Date() var body: some View { DatePicker( "DatePicker", selection: $date, displayedComponents: [.date] ) } } 시간 정보를 표출하고 싶은 경우, displayedComponents 인수인 배열에 .hourAndMinute 추가 DatePicker( "DatePicke..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c4oiod/btrJm7gCfBb/RkSKl6C5LMDtqTbGhvATZk/img.png)
목차) SwiftUI의 기본 - 목차 링크 Picker 개념 상호 배타적인 값들을 선택할때 사용하는 UI Picker는 아래처럼 선언되어 있는 구조체 특징은 SelectionValue가 Hashable이라는 것 struct Picker where Label : View, SelectionValue : Hashable, Content : View @State로 selectionOption을 주고 클로저 안에 Text를 삽입 앞에 들어가는 문자열 인수는 List와 같이 사용할때 표출 (아래에서 계속) var options = ["옵션1", "옵션2", "옵션3", "옵션4"] @State private var selectionOption = 0 Picker("Select Choice", selection: ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/n4gN7/btrJfUoNuKH/PRArlr7wI4yi12eQey17d1/img.gif)
목차) SwiftUI의 기본 - 목차 링크 Toggle 토글은 Label 타입을 가지고 있는 형태 struct Toggle where Label : View 토글을 사용할 땐, 토글이 켜져 있는지 여부를 결정하는 Bool 속성에 바인딩하여 사용 struct ContentView: View { @State var toggle1On = false var body: some View { VStack { Toggle(isOn: self.$toggle1On) { Text("@State Toggle: \(String(self.toggle1On))") } } } Toggle 클로저에 Text가 아닌 Label 사용도 가능 Toggle(isOn: self.$toggle5On) { Label("Flag", systemI..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/LrBZI/btrILfsLmbC/2TaVpc4KSPm11eiWrJKvBk/img.gif)
목차) SwiftUI의 기본 - 목차 링크 EditButton iOS 13+부터 사용 가능 토글 성격의 버튼 EditButton은 일반적으로 List와 같이 사용 List는 또 ForEach와 같이 사용하는데, 이 ForEach에 onDelete {}, onMove {}를 추가하여 적용 .toobar { EditButton }만 추가하면 자동으로 위 화면처럼 delete버튼과 move버튼이 자동으로 적용 struct ContentView: View { @State private var fruits = [ "Apple", "Banana", "Papaya", "Mango" ] var body: some View { NavigationView { List { ForEach(fruits, id: \.self) ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bprQzI/btrIADHoAuH/7IrY0xSDEK076L7g0T1JYK/img.png)
목차) SwiftUI의 기본 - 목차 링크 * Button 기본 개념은 이전 포스팅 글 참고 커스텀 버튼 구현 아이디어 ButtonStyle을 준수하는 struct형을 만들고, makeBody(configuration:) 메소드를 구현 SwiftUI에서는 상속사용을 지양하기 때문에, 사용하는 쪽에서 .buttonStyle()으로 사용 // 커스텀 ScaleButton을 만들기 위해서 ButtonStyle 준수하고 makeBody 메서드 구현 struct ScaleButton: ButtonStyle { func makeBody(configuration: Configuration) -> some View { } } makeBody 인자 configuration은 label 프로퍼티에 접근할수 있는데, 이 l..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ebUUxv/btrIsQHufn5/LTK0wEWD5eBql7XAN4BV0K/img.png)
목차) SwiftUI의 기본 - 목차 링크 Button 개념 Button안에 텍스트를 적고 closure에 액션을 기입 Button("MyButton") { print("did tap") } action을 앞에서 받고 뒤에 Text와 같은 컴포넌트를 넣어서 표출도 가능 색상은 systemBlue가 디폴트로 설정 Button(action: { print("tap button!") }) { Text("MyButton") } action에 클로저로 넣어도 되지만, 일반 func 함수를 넣어도 가능 struct ContentView: View { var body: some View { Button(action: self.didTapButton) { //
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EtHAE/btrIoBC6QdS/h5USsFxay1YdEWkykEY1S0/img.png)
목차) SwiftUI의 기본 - 목차 링크 SF Symbols 개념 애플에서 개발한 San Francisco font에 같이 사용할 수 있게 만든 이미지 마치 Text를 다루듯 font, foregroundColor를 모두 사용할 수 있는 형태 Image(systemImage:) 를 이용하여 SF Symbols를 사용한 후, .font로 폰트 프로퍼티 사용이 가능 SF Symbols 사용 방법 AppStore > SF Symbols Explorer 설치 SF Symbols Explorer 열기 SF Symbols 이미지들을 확인 가능 square.and.arrow.up 이미지를 사용하여 테스트 struct ContentView: View { var body: some View { Image(systemN..