6

我知道如何将 UIDatePicker 中的最大和最小日期设置为某个日期,我想知道是否有可能做到这一点,因此最小日期始终是“今天”日期。在我的应用程序中,用户输入过去的日期是没有意义的,只是让他们添加今天或将来的日期。

4

1 回答 1

24

将最小日期设置为现在,将显示日期设置为现在 + 2 秒:

myDatePicker.date = 
       [[ NSDate alloc ] initWithTimeIntervalSinceNow: (NSTimeInterval) 2 ];
myDatePicker.minimumDate = 
       [[ NSDate alloc ] initWithTimeIntervalSinceNow: (NSTimeInterval) 0 ];

当您初始化 Nib 或将视图控制器的数据设置为重用时,请执行此操作。您也可以在 viewWillAppear 中执行此操作。

加分:您可以添加一个 IBAction 方法,巧妙地鼓励用户不要选择不明智的日期:

- (IBAction)datePickerChanged: (id)sender
{
     if ( [ datePicker.date timeIntervalSinceNow ] < 0 )
         datePicker.date = now;
}
于 2012-06-13T23:44:34.070 回答