【发布时间】:2018-07-25 18:52:19
【问题描述】:
我有一个日期选择器,在它上面我有 1 个按钮作为完成。单击此按钮时,我会打印日期选择器日期。
当我滚动日期选择器并打印日期时,它工作正常。下面是我的代码
print("date selected===\(myDatePicker.date)")
当我不滚动日期选择器并单击完成按钮时,问题就出现了。
场景是我将 datepicker maximumDate 设置为 2000 年(currentYear-18)。下面是我用过的代码。
var dayComp = DateComponents()
currDate = Date()
dayComp.year = -18
currDate = calendar.date(byAdding: dayComp, to: currDate)!
mDateFrom.maximumDate = currDate
现在由于日期选择器要追溯到 18 年,我看到日期选择器的日期为 2000 年 7 月 25 日,但是当我点击完成按钮时,它只打印今天的日期。
只有当我滚动日期选择器时它才会给出正确的日期。
知道为什么会这样吗?
【问题讨论】:
-
更改日期时有回调(valueChanged)。因此,当您在不更改日期的情况下关闭选择器时,您不会得到它是正常的。
标签: swift uidatepicker