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

mhb*_*bdr 6 date uidatepicker

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

gjp*_*jpc 24

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

myDatePicker.date = 
       [[ NSDate alloc ] initWithTimeIntervalSinceNow: (NSTimeInterval) 2 ];
myDatePicker.minimumDate = 
       [[ NSDate alloc ] initWithTimeIntervalSinceNow: (NSTimeInterval) 0 ];
Run Code Online (Sandbox Code Playgroud)

在初始化Nib或在重新使用时为视图控制器设置数据时执行此操作.您也可以在viewWillAppear中执行此操作.

额外积分:您可以添加一种IBAction方法,巧妙地鼓励用户不要选择错误的建议日期:

- (IBAction)datePickerChanged: (id)sender
{
     if ( [ datePicker.date timeIntervalSinceNow ] < 0 )
         datePicker.date = now;
}
Run Code Online (Sandbox Code Playgroud)