【发布时间】:2019-10-29 09:27:08
【问题描述】:
在我们的应用程序中,我们有一个UIDatePicker,设置为模式Time。
这个日期选择器是用户让用户选择外卖订单的时间。
只能在每天的特定时间范围内下单,为此我们使用属性minimumDate 和maximumDate。现在我们想让它让用户可以在两个不同的范围中选择一个时间。比方说,09:00 - 12:00 和 13:00 - 17:00 的订单是允许的,拣货员应该只允许选择这些时间。
据我所知,默认情况下这是不可能的,因为我现在使用的属性只是单个时间对象,而不是范围。一个解决方案可能是手动实施,但似乎没有可用于UIDatePicker 的delegate。
我想知道的是,有人知道实现此类功能的良好、干净的方法,同时仍使用UIDatePicker,而不是UIPickerView。
如果它有一个委托方法,如canSelectDate(_:) -> Bool,则一个不错的选择是,如果false,它将动画返回到之前的值。在这里,我可以使用范围来确定它。
【问题讨论】:
-
为什么不使用两个日期选择器?
-
这似乎有点矫枉过正。整个想法是只有一个选择器可以完成所有工作。可能有 3 或 4 个间隔的情况,我们不希望有多个选择器,而您只能选择一个时间。
标签: ios swift datepicker