UIDatePicker约束在设备中不起作用

我在我的项目中使用UIDatePicker控件。 在xib文件中添加了UIDatePicker,并以编程方式将诸如minimumDate,maximumDate等约束条件设置为datePicker。 这在模拟器中工作正常,但在设备中,我可以selectdatePicker中的任何date。

示例代码:

- (void)viewDidLoad { [super viewDidLoad]; [self.datePicker setMinimumDate:[NSDate date]]; [self.datePicker setMaximumDate:[[NSDate date] dateByAddingTimeInterval:3*24*60*60]]; } 

截图:

在这里,我也可以选择以前的日期。

注意:我正在使用xcode5 – DP6。

提前致谢。

UIDatePicker上的UIControlEventValueChanged事件添加一个操作,并执行检查,以查看所选date是否大于最大date或小于最小date,并相应地设置date,如下所示:

 - (IBAction)dateValueChanged:(id)sender { NSTimeInterval date = [self.datePicker.date timeIntervalSince1970]; NSTimeInterval maxmimumDate = [self.datePicker.maximumDate timeIntervalSince1970]; NSTimeInterval minimumDate = [self.datePicker.minimumDate timeIntervalSince1970]; if (date < minimumDate) { self.datePicker.date = self.datePicker.minimumDate; } if (date > maxmimumDate) { self.datePicker.date = self.datePicker.maximumDate; } // Use the selected date NSLog(@"%@", self.datePicker.date); } 

如果您select范围之外的date,这将导致UIDatePicker滚动到最大/最小date。