如何在iPhone中动态设置日期选择器的最大日期?

时间:2011-06-28 04:41:30

标签: iphone datepicker maxdate

我有日期选择器,我想将最大日期设置为今日日期,每日更改日期 因为今天的日期是28/6/2011所以最长日期是28/6/2011,但是当我明天使用我的应用程序时,它将更改为29/6/2011。
如何设置?
感谢

3 个答案:

答案 0 :(得分:0)

如果你查看documentation,就会发现UIDatePicker的财产名为maximumDate。如果您查看NSDate的文档,您将看到类方法date返回带有当前日期和时间的NSDate,因此: `someDatePicker.maximumDate = [NSDate date]; 将日期选择器设置为不允许任何日期(或时间)晚于该时刻。

答案 1 :(得分:0)

maximumDate方法中设置viewWillAppear:属性,如下所示

datePicker.maximumDate = [NSDate date];

要在使用应用程序时处理日期更改,请将时间留到明天,并将NSTimer设置为在更改日期时触发,然后更新UIDatePicker实例。

NSDate * tomorrow = [NSDate dateWithNaturalLanguageString:@"12 AM tomorrow"];
NSTimeInterval timeInterval = [tomorrow timeIntervalSinceNow];

/* Create an NSTimer to trigger a method to update the datePicker's maximumDate 
   after timeInterval */

答案 2 :(得分:0)

由于[NSDate date]或Date()返回当前的当前日期。

在Objective-C中

设置日期选择器的minimumDate属性:

datePicker.minimumDate = [NSDate date];

在Swift 4.x中,

datePicker.minimumDate = Date() 

(其中datePicker是对UIDatePicker的引用)