敲击textfiled的键盘为datePicker,直接设置self.textfiled.inputView = datepicker;
如果想设置datePicker上的toolbar,则是self.textfiled.inputAccessoryView = toolbar;
如果想设置toolbar上的完成按钮,则是加几个uibarbuttonitem……
- (void)viewDidLoad {
[super viewDidLoad];
//设置键盘为时间选择器
// datePicker
self.datePicker = [[UIDatePicker alloc] init];
self.datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
self.datePicker.datePickerMode = UIDatePickerModeDate;
self.productDate.inputView = self.datePicker;
self.productExpirationDate.inputView = self.datePicker;
//toolbar 这里我设置了一个自己的toolbar类 加载了一个toolbar的xib
DBkeyboardToolbar *toolbar = [DBkeyboardToolbar toolbar];
toolbar.keyboardDelegate = self;
self.productDate.inputAccessoryView = toolbar;
self.productExpirationDate.inputAccessoryView = toolbar;
// Do any additional setup after loading the view.
}
#pragma mark 实现keyboard的toolbar代理
- (void)keyboardToolbar:(DBkeyboardToolbar *)toolbar btndidSelected:(UIBarButtonItem *)item
{
//完成按钮 在xib中我给完成按钮设置了一个tag 为2
if(item.tag == 2){
//获取日期显示在textfield中
NSDate *date = self.datePicker.date;
//日期转换成字符串
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd";
NSString *datestr = [dateFormatter stringFromDate:date];
self.productDate.text = datestr;
[self.productDate resignFirstResponder];
}
}
#import "DBkeyboardToolbar.h"
@interface DBkeyboardToolbar ()
@end
@implementation DBkeyboardToolbar
//三个代理
- (IBAction)doneBtn:(id)sender {
//这里是完成点击 完成按钮之后的代理~~~ 记得在.h文件中设置一个代理属性 具体代码不po了
if ([self.keyboardDelegate respondsToSelector:@selector(keyboardToolbar:btndidSelected:)]) {
[self.keyboardDelegate keyboardToolbar:self btndidSelected:sender];
}
}
+ (instancetype)toolbar
{
return [[[NSBundle mainBundle] loadNibNamed:@"DBkeyboardToolbar" owner:nil options:nil]lastObject];
}