iOS 5 - 将UIDatePicker最小日期设置为“今天”

时间:2012-06-13 17:26:42

标签: date uidatepicker

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

1 个答案:

答案 0 :(得分: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;
}