2013-06-26 18 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]或通过界面生成器进行更改。