2013-06-26 46 views
0

我有一個NSDatePicker與文本和步進。步行者表現出我覺得很不直觀的行爲。如果我的日期選擇器是在4月26日,我選擇日期編號,然後點擊「向上」幾次,日期選擇器週期爲返回到30日之後的4月1日!NSDatePicker中的步進器行爲搞砸了嗎?

enter image description here

如何使機械手持續到五月?

+0

如果您選擇月份,然後點擊幾次,會發生什麼情況? –

+0

它上升到12,然後回到1.同年! – markjs

+0

如果您選擇年份,然後點擊幾次,會發生什麼? –

回答

0

您可能可以使用委託方法- (void)datePickerCell:(NSDatePickerCell *)aDatePickerCell validateProposedDateValue:(NSDate **)proposedDateValue timeInterval:(NSTimeInterval *)proposedTimeInterval,因爲它會在日期發生變化時發送消息,但它不會通知是通過按鈕還是通過鍵盤進行更改,因此如果用戶手動將日期從30-04-201301-04-2013你無法判斷他們是用按鈕還是用鍵盤來做。您可能可以對按鈕進行子類化以檢測是否發生了點擊,但我會說這太麻煩了。我認爲這應該是您最不顧慮的問題,或者您可以按照羅伯特哈維建議的那樣使用下拉日曆,該日曆可以使用方法[datePicker setDatePickerStyle:NSClockAndCalendarDatePickerStyle]或通過界面生成器進行更改。