Datepicker maximumDate在当天早期的昨天停留

时间:2016-03-29 00:13:45

标签: ios swift datepicker

我有一个日期选择器,设置为不允许用户选择将来的日期。它是在viewDidLoad上为当前时间设置的最大日期。

dateDatePicker.maximumDate = NSDate()

但我一直注意到一个错误。今天到中午,最长日期是昨天的日期。但现在,正午后它显示今天的日期。

我实施它的方式:当用户想要使用时,日期选择器会以alpha显示并隐藏。所以我设置的最大日期不是每次显示选择器时,而是加载它所在的视图。

所以我不确定这是不是一个bug? 它与时区有关吗? 或者说我只是在他们查看加载时调用dateDatePicker.maximumDate并且可能在几天前​​发生了这一事实? 或者,如果我每次显示datePicker时都应该重置maximumDate?

1 个答案:

答案 0 :(得分:1)

是的,您几乎肯定会在每次显示日期选择器时设置最大日期。

如果您在前一天设置了最大日期,然后从未更新过它,也没有关闭视图控制器,那么它就不会发生变化。

在viewWillAppear中设置它,而不是viewDidLoad。

如果这不起作用,请使用NSCalendar和NSDateComponents构建当前日期为23:59的NSDate(从当前日期获取MM / DD / YYYY作为日期组件,然后手动设置时间到23:59。那应该有用。