UIDatePciker

利用textField 来实现弹出日期选择

1、点击输入框的时候,不可以输入内容

注意:不能使用enable = NO,因为这样就不能输入内容和监听利用textField的点击

// 是否允许用户输入文字
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    return NO;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    //开始的初始化
    [self setupBrithTextField];
}

2、 新建UIDatePicker控件,然后把TextField.inputView设置为datePicker


- (void)setupBrithTextField
{
    UIDatePicker *datePicker = [[UIDatePicker alloc] init];

    self.datePicker = datePicker;

    //设置地域语言
    datePicker.locale = [NSLocale localeWithLocaleIdentifier:@"zh"];

    //设置显示时间格式
    datePicker.datePickerMode = UIDatePickerModeDate;

    self.birthTextField.inputView = datePicker;

    [datePicker addTarget:self action:@selector(changeDateToString:) forControlEvents:UIControlEventValueChanged];

}

- (void)changeDateToString:(UIDatePicker *)datePicker
{
    NSDate *date = datePicker.date;

    NSDateFormatter *format = [[NSDateFormatter alloc] init];

     //设置输出时间格式
    format.dateFormat = @"yyyy-MM-dd";

    self.birthTextField.text = [format stringFromDate:date];
}

results matching ""

    No results matching ""