0

有什么方法可以禁用 uidatepicker 中的特定日期?

4

1 回答 1

2

由于没有直接的方法来实现这一点,您可以做的是从 datePicker 中获取“UIControlEventValueChanged”,例如

UIDatePicker * datePick = [[UIDatePicker alloc] init];
[datePick addTarget:self action:@selector(disableDate) forControlEvents:UIControlEventValueChanged];

在 disableDate 方法中,用户可以检查当前日期是否等于 disableDate。如果是,那么他可以将 currentDate 设置为某个以前的日期。

-(void)disableDate{

    NSDate *pickedDate = datePicker.date;  // Get current Date
    NSDate *disabledDate = [self getDisabledDate] // Returns Disabled Date.(getDisabledDate returns a date to be diabled).
    if([pickedDate compare:disabledDate] == NSOrderedSame){
        [datePick setDate:[self someOtherDate] animated:YES];

// 将当前日期设置为其他日期(someOtherDate 方法返回要设置的日期,如果选择禁用日期)。}

于 2012-10-09T06:14:30.467 回答