我在日期选择器中设置了最小日期,如下所示:
override func viewDidLoad() {
super.viewDidLoad()
datePicker.minimumDate = NSDate()
}
这确实可以防止用户回滚日期。用户可以回滚日期拨号,但它只是快速回到当前日期。问题是,当发生这种情况时,日期时间设置为午夜而不是任何和所有未来更改的当前时间,它还会执行日期更改时运行的事件。当涉及到我的UI中的代码和滑块时,这是一个问题。它认为日期没有改变,是的,它反弹但是为时已晚,我的代码运行假设日期改变了。如何防止用户完全回滚?
重现的步骤:
1)如上所示设置最短日期。
2)设置日期更改事件
3)设置要打印的事件(datePicker.date)
4)前滚动拨号
5)向后滚动拨盘超过当前日期。
6)向前滚动
请注意,从现在开始,时间现在永久设置为午夜。
答案 0 :(得分:1)
快速修复/解决方法是在日期更改事件函数中设置datePicker.date = NSDate()。