选择视图 0 时,UIDatePicker 将分钟设置为 1

Posted

技术标签:

【中文标题】选择视图 0 时,UIDatePicker 将分钟设置为 1【英文标题】:UIDatePicker setting minute to 1 when on the view 0 is selected 【发布时间】:2011-06-20 00:32:22 【问题描述】:

我使用相同的UIDatePicker 实例来设置三个不同的值。其中两个是日期,最后一个是时间(例如 1:05)。

我的问题是在模式UIDatePickerModeCountDownTimer 中设置UIDatePicker 时的使用。首先doc says,在此模式下设置时,date 属性将被忽略,countDownDuration 必须用于获取值。就我而言,在将选择器设置为此模式后,date 不会被忽略 ,但 countDownDuration 是 (=null)!编辑: 属性是正确设置,我只是没有正确记录它(使用%@修饰符而不是%f);我的下一个问题仍然存在。

最糟糕的是日期设置正确,但不幸的是,当我选择 0:00 时却没有。这次,日期设置为 0:01!

有什么帮助吗?我错过了什么?

【问题讨论】:

我也有同样的问题。选择器显示 0 小时 0 分钟,但从 countDownDuration 检索到的值是 1970-01-01 00:01:00 +0000。 【参考方案1】:

倒计时计时器用于设置倒计时时间。所以,零根本没有意义。显然最小值被限制为 1 分钟。

但是有一个奇怪的行为:如果您将计时器的间隔设置为超过 1 分钟,您可以选择 0,但在代码中获得 1。当间隔为 1 分钟时,您注意到您无法在选择器中选择 0 分钟;它弹回来。我认为前一种行为是一个错误。无论间隔有多大,您都不应该选择 0 分钟。

【讨论】:

【参考方案2】:

使用 UIDatePickerModeTime 代替倒计时来选择 00,但它肯定看起来与倒计时有些不同,看看:

_datePicker.datePickerMode = UIDatePickerModeTime;
_datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"NL"];

【讨论】:

以上是关于选择视图 0 时,UIDatePicker 将分钟设置为 1的主要内容,如果未能解决你的问题,请参考以下文章

将 UIDatePicker 添加到单元格内容视图

countDownTimer = 0 的 UIDatePicker 显示“0 小时 1 分钟”

有没有办法在 UIDatePicker 中删除小时并添加秒?

如何在 iOS7 中将 UIDatePicker 添加到 UIALertView

UIDatePicker:无法选择默认值

带有uidatepicker委托的uipopover不起作用