iOS UIDatePicker UIDatePickerModeTime 限制时间选择最大和最小值

//创建对象

@property (nonatomic, strong) UIDatePicker *datePicker;

2.//创建控件

- (UIDatePicker *)datePicker{
    if (_datePicker == nil) {
        self.datePicker = [[UIDatePicker alloc] init];
        self.datePicker.datePickerMode = UIDatePickerModeTime;
        //设置地区: zh-中国
        self.datePicker.locale = [NSLocale localeWithLocaleIdentifier:@"en_GB"];
        self.datePicker.calendar = [NSCalendar currentCalendar];
        self.datePicker.minuteInterval = 30;//时间间隔,只能选0-30
        NSDateFormatter * formatter = [[NSDateFormatter alloc]init];
        [formatter setDateFormat:@"HH:mm"];
        NSString * mindateStr = @"00:00";
        NSString * maxdateStr = @"09:00";
        NSDate * mindate = [formatter dateFromString:mindateStr];
        NSDate * maxdate = [formatter dateFromString:maxdateStr];
        self.datePicker.minimumDate = mindate;
        self.datePicker.maximumDate = maxdate;
        // 设置当前显示时间
        [self.datePicker setDate:[NSDate date] animated:YES];
        // 设置显示最大时间(此处为当前时间)
//        [self.datePicker setMaximumDate:[NSDate date]];
        // 监听值得改变
        [self.datePicker addTarget:self action:@selector(datePickerChange:) forControlEvents:(UIControlEventValueChanged)];
    }
    return _datePicker;
}
//监听选择器并赋值
- (void)datePickerChange:(UIDatePicker *)dataPicker{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    
    //设置时间格式
    formatter.dateFormat = @"HH:mm";
    NSString *dateStr = [formatter  stringFromDate:dataPicker.date];
    self.stateTimeStr = dateStr;
    [self.tableView reloadData];
}

 

你可能感兴趣的:(iOS开发小技巧,时间选择)