date - iOS 5 - 将 UIDatePicker 最小日期设置为 "today"

标签 date uidatepicker

我知道如何将 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/

相关文章:

Excel 返回一个日期范围的多个值,其中单个日期项相加

ios - 如何在 uidatepicker View 中将最大日期设置为今天 23 :59?

php - 根据内容中的日期获取最近 N 周的 MySQL 行

C# - 检查给定日期是否是一个月的第五周?

iphone - 按日期排序 NSFetchRequest,然后按字母顺序排序

ios - UIDatePicker 在 iOS 8.1 的 iPad 上不显示日期轮(dd)

ios - 当 uidatepicker/pickerview 看起来与键盘 ios 相似时如何向上 ScrollView

ios - 带有 DatePicker 的 UITextField 崩溃

sql - 按低于某个值的所有日期降序排序,然后按高于该值的所有日期升序排序

javascript - 为什么在 JavaScript 中转换为日期对象时要从月份中减去 1?