2013-08-01 97 views
2

我有一個UIDatePicker,設置爲UIDatePickerModeTime。我使用下面的代碼來設置我的日期選擇器的時間:以編程方式設置時間時,UIDatePicker顯示爲禁用

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

其作品,但隨後的日期選擇器出現在灰色(見下圖,它顯示的日期選擇器被禁用),並設置時間06 :00,不管選擇什麼。這是一個結果的圖像;注意我已經選擇了1:30 PM,但文本框顯示爲06:00;此外,無論我選擇什麼,沒有任何變化(時間顯示我選擇的(這裏是下午1:30),但datePicker中的值保持在14:00(但未顯示通過NSLog驗證了14:00) ,不管我選擇。什麼任何想法可能會導致這?

enter image description here

+0

可能非常明顯,但是您是否在日期選取器上啓用了用戶交互功能? - 只是測試不會是這個。 – Woodstock

+0

我想也許你從字符串設置的時間是導致與UIDatePicker問題 - 通過使用此設置正確的日期檢查:NSDateFormatter * dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@「yyyy' - 'MM' - 'dd」] ;; NSDate * anyDate = [dateFormat dateFromString:@「2019-09-11」]; [datePicker setDate:anyDate]; [dateFormat release]; – Woodstock

+0

約翰......這不是「日期」......這是「時間」......我的代碼在上面。 SD – SpokaneDude

回答

3

它看起來像您有UIDatePicker一個時區的問題,這就是爲什麼它是表示UIDatePicker一次和另一個在你的標籤(華盛頓有-7時間差異)。關於這個主題有很多問題和答案(例如:iphone UIDatePicker showing wrong date in Central Timezone)。

另一個問題你有UIDatePicker變得被禁用。如果您將datePicker.minimumDate設置爲當前日期並使用UIDatePickerModeTime,則可能會導致此問題。

+0

Got it!我在IB中檢查了最小和最大日期......刪除了它,並且它像一個冠軍!非常感謝你的幫助...我真的很感激! – SpokaneDude

+0

不客氣,很高興我能幫忙:) – JPetric

相關問題