我正在开发一个项目,其中用户可以在倒计时模式下从UIDatePicker
中选择时间间隔(HH:mm),并且在该时间间隔,我想触发一个通知。
我在 Storyboard 中创建了 UIDatePicker
,并在属性检查器中将模式设置为倒数计时器 .
问题是,当我获取 datePicker 的当前值时,该值永远不正确。
例如,如果用户选择 1 分钟,我会得到 70 到 110 之间的随机值,但绝不会是 60! 这怎么可能? (每次选择都会出现这个问题)
这就是我获取当前值的方式:
timePicker.countDownDuration
为了测试目的,我用它打印
timePicker.countDownDuration.description
也许存在错误或我不知道的东西? (当然有)
我尝试将 UIDatePicker
上表示的值转换为字符串 a,然后在 TimeInterval
中重新转换它,但如果有更好的方法那就太好了。
最佳答案
好的问题解决了,可能是 XCode 的 bug。
当您从 Storyboard构建datepicker
并将其模式参数设置为倒计时器
时,就会出现问题。
要解决此问题,只需不要在 Storyboard 中的倒计时器
上设置datepicker
的模式,而是需要通过编程方式设置模式
timepicker.datePickerMode = .countDownTimer
这样做,问题就解决了
关于swift - UIDatePicker 倒数计时器模式在 Xcode 10.3 中不会返回正确的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57337246/