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>で最大値と最小値を指定しています。