iOS--把输入键盘改成日期选择器

前几天有用到选择日期的功能,简单封装了一下,实现UItextFiled的inputView改变成UIDatePicker从而达到输入日期的目的。整体是思路是自定义textField,将UIDatePicker作为其一个属性。

下边是具体代码。



#import "DatetextField.h"

@implementation DatetextField

- (instancetype)init

{

self = [super init];

if (self) {

[self datePicer];

}

return self;

}

-(UIDatePicker *)datePicer{

if (!_datePicer) {

_datePicer = [[UIDatePicker alloc]init];

_datePicer.datePickerMode = UIDatePickerModeDate;

//设置中文显示

NSLocale *locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"];

_datePicer.locale = locale;

self.inputView = _datePicer;

//      点击或者滑动时触发方法

[_datePicer addTarget:self action:@selector(dateChenged:) forControlEvents:UIControlEventValueChanged];

}

return _datePicer;

}

-(void)dateChenged:(UIDatePicker *)sender{

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];//设置输出的格式

[dateFormatter setDateFormat:@"yyyy-MM-dd"];

self.text = [dateFormatter stringFromDate:sender.date];

NSLog(@"%@",[dateFormatter stringFromDate:sender.date]);

}

这样在外界直接定义子类的DSTextField就可以实现日期选择的功能了。

你可能感兴趣的:(iOS--把输入键盘改成日期选择器)