반응형

 

Hacking with Swift 사이트의 강좌 번역본입니다.

 

[원문 : https://www.hackingwithswift.com/quick-start/swiftui/how-to-create-a-date-picker-and-read-values-from-it]

 

How to create a date picker and read values from it

[동영상 강좌 : https://youtu.be/ANKH88vCqGE]

SwiftUI의 DatePicker뷰는 UIDatePicker와 비슷하고, 모양과 동작을 제어하기 위한 다양한 옵션이 있습니다. 모든 컨트롤처럼 값을 저장하며, 앱에서 상태(state)와 바인딩해야 합니다. 

 

예를들어, birthDate 프로퍼티에 바인딩해서 date picker를 들고, 사용자가 현재 이전의 날짜를 선택하고나서, 설정한 date picker의 값을 보여줍니다.

struct ContentView: View {
    var dateFormatter: DateFormatter {
        let formatter = DateFormatter()
        formatter.dateStyle = .long
        return formatter
    }

    @State private var birthDate = Date()

    var body: some View {
        VStack {
            DatePicker(selection: $birthDate, in: ...Date(), displayedComponents: .date) {
                Text("Select a date")
            }

            Text("Date is \(birthDate, formatter: dateFormatter)")
        }
    }
}

 

displayedComponents .date로 설정했던 것을 볼 수 있지만, 시간 데이터를 가져오기 위해 .hourAndMinute를 사용할 수 있습니다. 

in: …Date()를 사용해서 날짜 범위에 현재 날짜를 포함하지만, 이후 날짜는 없습니다. in: Date()…을 사용해서 이를 반대로(예를들어, 현재 날짜 이후) 할 수 있지만, 원하는 경우에 정확한 범위를 사용할 수 있습니다.

반응형
Posted by 까칠코더
,