我在项目中使用UIDatePicker控件。在xib文件中添加了UIDatePicker,并以编程方式将minimumDate,maximumDate等约束设置为datePicker。这在模拟器中工作正常,但在设备中我可以在datePicker中选择任何日期。
示例代码:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.datePicker setMinimumDate:[NSDate date]];
[self.datePicker setMaximumDate:[[NSDate date] dateByAddingTimeInterval:3*24*60*60]];
}
截图:
注意:我正在研究xcode5 - DP6。
提前致谢。
答案 0 :(得分:0)
在UIControlEventValueChanged
上为UIDatePicker
事件添加操作,并执行检查,以查看所选日期是否大于最大日期或小于最小日期,并相应地设置日期,如下所示:
- (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);
}
如果您选择超出范围的日期,这将导致UIDatePicker
滚动到最大/最小日期。