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) } } } }
![macOS DatePicker例](https://mjeld.com/wp-content/uploads/2022/05/2022-05-291351.gif)
↓下記は、 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>で最大値と最小値を指定しています。
![DatePicker の "in" に ClosedRange<Date>で最大値と最小値を指定](https://mjeld.com/wp-content/uploads/2022/05/2022-05-291507.gif)