SwiftUI の DatePicker をmacOSで使う 下記は シンプルなコード例
struct ContentView: View {
@State var d1: Date = Date()
@Binding var title: String
var body: some View {
ZStack{
Color.clear.frame(width: 350, height: 200)
VStack{
DatePicker("日時", selection: $d1).frame(width: 300)
Spacer().frame(height: 150)
}
}
}
}
↓下記は、 DatePicker の最大値と最小値を設定するコード例です
struct ContentView: View {
@State var d1: Date = Date()
@Binding var title: String
@State var target:Date = Date()
var dateClosedRange: ClosedRange<Date> {
let min = Calendar.current.date(byAdding: .day, value: -7, to: target)! //7日前
let max = Calendar.current.date(byAdding: .day, value: 1, to: target)! //1日後
return min...max
}
var body: some View {
ZStack{
Color.clear.frame(width: 350, height: 200)
VStack{
DatePicker("日時", selection: $d1, in: dateClosedRange).frame(width: 300)
Spacer().frame(height: 150)
}
}
}
}
DatePicker の “in” に ClosedRange<Date>で最大値と最小値を指定しています。