我为 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) ,无论我选择什么。有什么可能导致这个的想法?
答案 0 :(得分:3)
您似乎遇到了UIDatePicker
的时区问题。这就是为什么它在UIDatePicker
中显示一次而在你的标签中显示另一次(华盛顿有-7时差)。关于这个主题有很多问题和答案(一个例子:iphone UIDatePicker showing wrong date in Central Timezone)。
您遇到的另一个问题是UIDatePicker被禁用。如果您将datePicker.minimumDate
设置为当前日期并使用UIDatePickerModeTime
。