NSDatePicker中的步进行为搞砸了?

时间:2013-06-26 20:19:46

标签: macos cocoa nsdate nsdatepicker

我有NSDatePicker文字和步进器。步进器显示我发现非常不直观的行为。如果我的日期选择器是在4月26日并且我选择了日期编号,那么点击“向上”几次,日期选择器将返回到30日之后的4月1日!

enter image description here

如何让选择器继续进入五月?

1 个答案:

答案 0 :(得分:0)

您可以使用委托方法- (void)datePickerCell:(NSDatePickerCell *)aDatePickerCell validateProposedDateValue:(NSDate **)proposedDateValue timeInterval:(NSTimeInterval *)proposedTimeInterval,因为它会在日期更改时发送消息,但是它不会通知按钮或通过键盘来进行更改,因此如果用户手动更改从30-04-201301-04-2013的日期,您无法通过按钮或键盘来判断它们是否正确。您可以将按钮子类化以检测是否发生了点击,但我会说这太麻烦了。我会说这应该是你最不担心的,或者你可以做Robert Harvey所建议的使用下拉日历,可以使用方法[datePicker setDatePickerStyle:NSClockAndCalendarDatePickerStyle]或通过界面构建​​器来更改。