在iPhone Objective C中禁用UIDatePicker中的过去日期

45

我对Objective C和iPhone开发还不熟悉。

我在我的iPhone应用程序中使用了UIDatePicker,并且我的要求是允许用户只能从DatePicker选择未来日期。

为了实现这一点,我想在DatePicker中仅禁用过去的日期和时间,而不是在代码中进行比较验证。

这是否可行?或者在DatePicker控件本身中有禁用过去日期的选项吗?

3个回答

149

你试过这个了吗

[picker setMinimumDate: [NSDate date]];

正是像这样的代码片段使得StackOverflow成为您在网络上寻找编程需求的最佳首选站点!与其像这篇帖子中那样进行检查:“https://dev59.com/BWTVa4cB1Zd3GeqP_QoX”,我继续搜索并找到了这个。当然,文档是此类属性的主要来源,但如果像这样的帖子不存在,它总是有助于SO用户。我会给OP投票,以便他有机会接受这个答案。 - whyoz
当日期选择器处于[datePicker setDatePickerMode:UIDatePickerModeTime];模式时,如何禁用某些时间选项? - The iCoder

28

使用以下代码行禁用UIDatePicker中的过去日期。

[picker setMinimumDate: [NSDate date]];

当前日期如下所示:

enter image description here


27

对于 Swift:

let todaysDate = Date()

datePicker.minimumDate = todaysDate

它不会让用户选择早于今天的日期。

或者

或者,如果你想减少代码量,可以使用下面的方式:

datePicker.minimumDate = Date()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接