您的位置:首页 > 其它

敲击textfield显示datePicker

2015-09-18 14:46 302 查看
敲击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];

}

}


下面是我自定义的keyboardToolbar代码
#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];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: