我创建了一个UIDatePicker,以便用户可以选择他们的生日,我试图设置最小和最大允许日期 . 但是,像我在下面所做的那样设置最小/最大日期只会使超出范围的日期变灰,但您仍然可以滚动到它们 . 如何阻止日期选择器滚动到这些日期而不仅仅是将它们变灰?
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:1];
[comps setMonth:1];
[comps setYear:1914];
NSDate *minimumDate = [[NSCalendar currentCalendar] dateFromComponents:comps];
NSDateComponents *compsMax = [[NSDateComponents alloc] init];
[compsMax setDay:31];
[compsMax setMonth:12];
[compsMax setYear:2013];
NSDate *maximumDate = [[NSCalendar currentCalendar] dateFromComponents:compsMax];
birthdayPicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(220, 150, 500, 10)];
[birthdayPicker setDatePickerMode:UIDatePickerModeDate];
[birthdayPicker setMinimumDate:minimumDate];
[birthdayPicker setMaximumDate:maximumDate];
[birthdayPicker reloadInputViews];
[self addSubview:birthdayPicker];
1 回答
我承认,这不是最好的,但要试一试,也许可以改进:
在
viewDidLoad
代码中的其他地方