2

我为 UIDatePickerModeTime 设置了UIDatePicker。我正在使用以下代码在我的 datePicker 中设置时间:

[self.oTimePicker setDate:dateFromString(self.oStartTime.text, @"HH:mm")];
[self.oTimePicker reloadInputViews];

这有效,但 datePicker 显示为灰色(见下图;它似乎 datePicker 已禁用),并将时间设置为 06:00,无论选择什么。这是结果的图像;请注意,我选择了下午 1:30,但文本框显示 06:00;此外,无论我选择什么,都没有任何变化(时间显示我选择的内容(此处为下午 1:30),但 datePicker 中的值仍为 14:00(但未显示 14:00 已通过 NSLog 验证) ,无论我选择什么。关于可能导致此问题的任何想法?

在此处输入图像描述

4

1 回答 1

3

看起来您遇到了时区问题UIDatePicker。这就是为什么它在您的标签中显示一次UIDatePicker和另一个(华盛顿有 -7 时差)。关于这个主题有很多问题和答案(一个例子:iphone UIDatePicker 在中央时区显示错误的日期)。

您遇到的另一个问题是 UIDatePicker 被禁用。如果您设置datePicker.minimumDate为当前日期并使用UIDatePickerModeTime.

于 2013-08-08T09:00:07.963 回答