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