我知道如何将 UIDatePicker 中的最大和最小日期设置为某个日期,我想知道是否有可能使最小日期始终是“今天”日期。在我的应用程序中,让用户输入过去的日期是没有意义的,只是让他们添加今天或将来的日期。
最佳答案
将最小日期设置为现在,将显示日期设置为现在 + 2 秒:
myDatePicker.date =
[[ NSDate alloc ] initWithTimeIntervalSinceNow: (NSTimeInterval) 2 ];
myDatePicker.minimumDate =
[[ NSDate alloc ] initWithTimeIntervalSinceNow: (NSTimeInterval) 0 ];
当您初始化 Nib 或设置 View Controller 的数据以供重用时,请执行此操作。
您也可以在 viewWillAppear 中执行此操作。
加分项:您可以添加一个 IBAction 方法,巧妙地鼓励用户不要选择不明智的日期:
- (IBAction)datePickerChanged: (id)sender
{
if ( [ datePicker.date timeIntervalSinceNow ] < 0 )
datePicker.date = now;
}
关于date - iOS 5 - 将 UIDatePicker 最小日期设置为 "today",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11020183/