swift - UIDatePicker 倒数计时器模式在 Xcode 10.3 中不会返回正确的时间

标签 swift countdown uidatepicker

我正在开发一个项目,其中用户可以在倒计时模式下从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/

相关文章:

ios - 两个 UIDatePicker(时间模式)- 如何判断它们是否相隔至少 3 分钟?

swift - 在 Swift 中使用 static let 实现的单例中为属性赋值

Swift 5.5并发: Are scheduled Tasks serial to one another

ios - 如何从 SwiftyJSON 对象数组中搜索?

ios - SceneKit IOS 的平滑捏合手势

javascript - 如何在 Javascript 中定义自动重新启动的简单倒计时

jquery - 打开 UI 日期选择器日历上/下

ios - 更改默认 UIDatePicker 并使其能够接受 00 作为日期和月份。像这样 00-00-YYYY

java - 如何在我的小程序中进行倒计时?

java - 如何使用java在服务器端实现倒计时触发器?