用处:用在自定义键盘(点击文本框时弹出日期选择。)
一、自定义键盘
先连接TextField
-(viewDidLoad) { [super viewDidLoad]; //1.创建时间选择器 UIDatePicker *datePicker = [UIDatePicker alloc] init]; datePicker.datePickerMode = UIDatePickerModeDate; datePicker.locale = [NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]; datePicker.frame = CGRectMake(0,44,320,162); self.inputTextField.inputView = datePicker; //2.创建工具条 UIToolbar = *toolbar = [[UIToolbar alloc] init]; toolbar.barTintColor = [UIColor blueColor]; view.frame = CGRectMake(0,0,320,44); //2.1.给工具条添加按钮 UIBarButtonItem *item0 = [UIBarButtonItem alloc] initWithTitle:@"上一个" style:UIBarButtonItemStylePlain target:self action:@selector (previousBtnClick)]; UIBarButtonItem *item1 = [UIBarButtonItem alloc] initWithTitle:@"下一个" style:UIBarButtonItemStylePlain target:self action:@selector (previousBtnClick)]; UIBarButtonItem *item2 = [UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target :nil action:nil]; UIBarButtonItem *item3 = [UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStylePlain target:self action:@selector (previousBtnClick)]; toolbar.items = @[item0,item1,item2,item3]; //3.将工具条设置为文本输入框键盘的辅助视图 self.inputTextField.inputAccessoryView = toolbar; -(void)previousBtnClick { NSLog(@"...") }
二、将选择的日期显示到文本框中
1.监听DatePicker的选中
[datePicker addTarget:self action:@selector(test:) forControlEvents: UIControlEventValueChanged];
2.实现监听方法
-(void)test:(UIDatePicker *)picker { NSDate *selectedDate = sender.date; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @"yyyy-MM-dd HH:mm"; NSString *dateString = [formatter stringFromDate:selectedDate]; self.testTimeField.text = dateString; }