일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UICollectionView
- SWIFT
- Xcode
- 스위프트
- clean architecture
- 클린 코드
- HIG
- 리펙토링
- 애니메이션
- rxswift
- 리펙터링
- Observable
- ios
- combine
- Human interface guide
- Refactoring
- swiftUI
- UITextView
- MVVM
- collectionview
- Clean Code
- RxCocoa
- Protocol
- ribs
- swift documentation
- uiscrollview
- 리팩토링
- tableView
- uitableview
- map
- Today
- Total
목록iOS 기본 (SwiftUI) (55)
김종권의 iOS 앱 개발 알아가기
![](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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/PAqNo/btrImQVfoj4/nDscEJSYpln1XYrP45KIA1/img.png)
목차) SwiftUI의 기본 - 목차 링크 Image 단순히 Image("imageName")으로 사용 struct ContentView: View { var body: some View { Image("book") } } 공간에 맞게 이미지 크기를 조정하는 모드 설정 resizable()를 선언 화면에 맞추어서 채워지는 효과 struct ContentView: View { var body: some View { Image("book") .resizable() //
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/GAGty/btrIddqjgPC/lnQqX0rAMJ0jwKSCI0LkD1/img.png)
목차) SwiftUI의 기본 - 목차 링크 Font를 사용하기 전에, dark mode도 확인위한 preview 설정 preview에 ColorScheme.allCases로 컬러 스킴에 접근하여 preferredColorScheme을 지정하여 dark mode도 확인할 수 있도록 설정 struct ContentView_Previews: PreviewProvider { static var previews: some View { ForEach(ColorScheme.allCases, id: \.self) { ContentView().preferredColorScheme($0) } } } System Font 사용 방법 systemFont .font로 Text에 적용이 가능 systemFont는 맥에서 자주 사..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bzESUM/btrH49O5bZ0/fixTKVGW7JhXFsESyRfUvk/img.png)
목차) SwiftUI의 기본 - 목차 링크 * TextField 기본 개념 (@FocusState, 키보드 숨기기 사용 방법)은 이전 포스팅 글 참고 ViewModifier ViewModifier는 Text ViewModifier에서 알아본 내용처럼, SwiftUI에서는 상속이 불가능한 Struct를 사용하고 있고 이 때 컴포넌트화해서 쓰고 싶은 경우 Modifer를 이용하여 사용 ex) Text에서 Modifier를 사용한 경우 (정의하는 쪽) // MyTextModifier.swift import SwiftUI struct MyTextModifier: ViewModifier { func body(content: Content) -> some View { content .font(.system(size..