Ios SwiftUI:如何设置时间选择器&x27;什么范围能容纳午夜?
我正在使用SwiftUI 2,并使用带有Ios SwiftUI:如何设置时间选择器&x27;什么范围能容纳午夜?,ios,xcode,swiftui,datepicker,timepicker,Ios,Xcode,Swiftui,Datepicker,Timepicker,我正在使用SwiftUI 2,并使用带有显示组件的日期选择器:.hourAndMinute 我想允许用户选择晚上10点到凌晨2点之间的任何时间。因此,我要使用的时间范围包含午夜 不幸的是,当我为日期选择器提供此时间范围时,它只允许我选择晚上10:00到晚上11:59之间的时间: @State private var date = Calendar.current.date(bySettingHour: 22, minute: 0, second: 0, of: Date())! let star
显示组件的日期选择器:.hourAndMinute
我想允许用户选择晚上10点到凌晨2点之间的任何时间。因此,我要使用的时间范围包含午夜
不幸的是,当我为日期选择器提供此时间范围时,它只允许我选择晚上10:00到晚上11:59之间的时间:
@State private var date = Calendar.current.date(bySettingHour: 22, minute: 0, second: 0, of: Date())!
let startDate = Calendar.current.date(bySettingHour: 22, minute: 0, second: 0, of: Date())!
...
DatePicker("", selection: $date, in: startDate...Calendar.current.date(byAdding: .hour, value: 4, to: startDate)!, displayedComponents: .hourAndMinute)
换言之,只能选择午夜之前的时间,尽管提供的时间范围也包含0 am到2 am(第二天的)
如何解决这个问题?通过删除显示的组件
,一切似乎都按预期运行
如果您的目标是选择晚上10点到凌晨2点之间的任何时间,这意味着今天晚上10点到明天凌晨2点,那么仅显示小时和分钟可能会令人困惑
DatePicker("", selection: $date, in: startDate...Calendar.current.date(byAdding: .hour, value: 4, to: startDate)!)
删除显示组件
Hi Cédric,我很清楚这种可能性。但是,我想让我的应用程序的用户能够在接下来的4小时内选择任何时间点。因此,如果是晚上10点,用户应该能够轻松地选择晚上10点到凌晨2点之间的任何时间,而不必担心一天。我不认为这会让人困惑。