在UIDatePicker上设置时间范围

时间:2014-07-16 09:08:18

标签: ios objective-c xcode uidatepicker

我有一个UIDatePicker,我已经以编程方式添加到我的代码中,我现在想看看我是否能以某种方式设置时间范围。这样用户只能选择一个日期,以及从09:00到17:30之间的时间。理想情况下,任何其他选项都不会出现。有没有办法将其添加到我的UIDatePicker代码中?

这是我的代码:

CGRect pickerFrame = CGRectMake(0,250,0,0);

UIDatePicker *myPicker = [[UIDatePicker alloc] initWithFrame:pickerFrame];
[myPicker addTarget:self action:@selector(pickerChanged:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:myPicker];

2 个答案:

答案 0 :(得分:1)

UIDatePicker具有minimumDatemaximumDate的属性。

您应该习惯阅读documentation

通常只是将类名粘贴到谷歌中,第一个结果将是Apple文档。

答案 1 :(得分:0)

试试这样: -

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:10];
NSDate *maxDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
[comps setYear:-10];
NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];    
[yourdatePicker setMaximumDate:maxDate];
[yourdatePicker setMinimumDate:minDate];