Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- UICollectionView
- 애니메이션
- Human interface guide
- 스위프트
- SWIFT
- 클린 코드
- tableView
- uiscrollview
- 리펙토링
- HIG
- ribs
- Protocol
- Observable
- collectionview
- 리팩토링
- map
- swiftUI
- uitableview
- rxswift
- combine
- clean architecture
- 리펙터링
- ios
- Refactoring
- MVVM
- swift documentation
- UITextView
- Xcode
- Clean Code
- RxCocoa
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - SwiftUI] DatePicker, ColorPicker 사용 방법 본문
* 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(
"DatePicker",
selection: $date,
displayedComponents: [.date, .hourAndMinute] // <-
)
- Date 제한 주기
- DatePicker의 생성자는 아래처럼 in 파라미터가 존재
public init<S>(
_ title: S,
selection: Binding<Date>,
in range: ClosedRange<Date>,
displayedComponents: DatePicker<Label>.Components = [.hourAndMinute, .date]
) where S : StringProtocol
- ClosedRange<Date> 값을 DatePicker의 in 인수에 주입
- 먼저 ClosedRange<Date> 프로퍼티 정의
var dateRange: ClosedRange<Date> {
let min = Calendar.current.date(
byAdding: .year,
value: -10,
to: date
)!
let max = Calendar.current.date(
byAdding: .year,
value: 10,
to: date
)!
return min...max
}
- 위 값을 in 파라미터에 주입
var body: some View {
DatePicker(
"DatePicker",
selection: $date,
in: dateRange, // <-
displayedComponents: [.date, .hourAndMinute]
)
}
DatePicker의 .datePickerStyle
- .compact - 디폴트 (위에서 알아본 UI)
DatePicker(
"DatePicker",
selection: $date,
in: dateRange,
displayedComponents: [.date, .hourAndMinute]
)
.datePickerStyle(.compact) // <-
- .automatic - 맥, 아이폰 플랫폼에 따라 자동으로 달라지는 옵션이고, 아이폰에서는 위 compact와 동일
.datePickerStyle(.automatic) // <-
- .graphical - 달력 형식
.datePickerStyle(.graphical)
- .wheel - 일반적인 피커 방식의 휠 형식
.datePickerStyle(.wheel)
ColorPicker
- iOS 14.0부터임을 주의
- @State color 프로퍼티 준비
@State var color = Color(.sRGB, red: 0.98, green: 0.9, blue: 0.2)
- ColorPicker의 selection에 $color를 넣어서 초기화
ColorPicker(
"ColorPicker",
selection: $color
)
* 전체 코드: https://github.com/JK0369/ExDatePicker-SwiftUI
* 참고
https://developer.apple.com/documentation/swiftui/colorpicker
https://developer.apple.com/documentation/swiftui/datepicker
'iOS 기본 (SwiftUI)' 카테고리의 다른 글
[iOS - SwiftUI] Stepper 사용 방법 (0) | 2022.08.22 |
---|---|
[iOS - SwiftUI] Slider 사용 방법 (0) | 2022.08.21 |
[iOS - swiftUI] Picker, PickerStyle 사용 방법 (2) | 2022.08.17 |
[iOS - swiftUI] Toggle, ToggleStyle을 이용한 커스텀 토글 (0) | 2022.08.16 |
[iOS - swiftUI] EditButton 사용 방법 (0) | 2022.08.09 |
Comments