有没有办法在 UIDatePicker 上限制/约束时间。
即如果我希望选择器仅显示下午 3:00 至晚上 8:00 的时间,在该时间之前和之后都不会显示,这可能吗?
代码示例会很好。谢谢!
编辑
- (void)willPresentActionSheet:(UIActionSheet *)actionSheet
{
// **EDIT 2**
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setMinute:10];
[comps setHour:5];
NSDate *minimumTime = [[NSCalendar currentCalendar] dateFromComponents:comps];
UIDatePicker *pickerView = [[[UIDatePicker alloc] init] initWithFrame:CGRectMake(0, 40, 320, 216)];
pickerView.datePickerMode = UIDatePickerModeTime;
[pickerView setMinimumDate:minimumTime];
[pickerView setMinuteInterval:15];
[pickerView setTag: kDatePickerTag1];
//Add picker to action sheet
[actionSheet addSubview:pickerView];
NSArray *subviews = [actionSheet subviews];
}
startTimeLabel 是一个 NSString 变量(即 6:30 PM),应该用作 UIPicker 上的最短时间。
图片:
最佳答案
使用这段代码:
[datePicker setMaximumDate:yourmaxDate];
[datePicker setMinimumDate:yourminDate];
创建一个 NSDate:
NSDate *todaysDate = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [gregorian components: NSUIntegerMax fromDate:todaysDate];
[comps setMinute:10];
[comps setHour:5];
[comps setSecond:0];
NSDate *yourminDate = [gregorian dateFromComponents:comps];
关于ios - UIDatePicker:为时间添加约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17734941/