美文网首页
06-自定义生日键盘

06-自定义生日键盘

作者: 洧中苇 | 来源:发表于2016-12-05 19:31 被阅读0次

Make by:弓_虽_子

运行示例效果:

点击生日时弹出的是一个日期键盘.

实现这种效果采取的方案是自定义一个TextField.修改它的弹出键盘为一个UIDatePicker.

#import

注意:这里继承的是UITextField

@interfaceBirthDayField :UITextField

@end

#import"BirthDayField.h"

@implementationBirthDayField

注意:这个地方做了两个初始化,目的是为了不论别人使用这个FlagField是从xib创建,还是从代码创建,都让它做初始化.

从xib当中创建

-(void)awakeFromNib{

初始化.

[selfsetUp];

}

从代码创建

- (instancetype)initWithFrame:(CGRect)frame{

if(self= [superinitWithFrame:frame]) {

//初始化.

[selfsetUp];

}

returnself;

}

初始化.

- (void)setUp{

创建UIDatePicker(日期键盘)

UIDatePicker*pick = [[UIDatePickeralloc]init];

pick.datePickerMode=UIDatePickerModeDate;

ISO 639语言编码(中国zh  -zhongwen)

NSLocale*local = [NSLocalelocaleWithLocaleIdentifier:@"zh"];

pick.locale= local;

UIDatePicker没有代理方法

监听UIDatePicker的值改变.

[pickaddTarget:selfaction:@selector(dateChange:)forControlEvents:UIControlEventValueChanged];

自定义键盘,让弹出的键盘是一个UIPickerView.(自定义的键盘是不需要设置尺寸的.)

self.inputView= pick;

}

当日期改变时调用

- (void)dateChange:(UIDatePicker*)datePick{

把日期转成字符串.

NSDateFormatter*fmt = [[NSDateFormatteralloc]init];

设置日期格式

fmt.dateFormat=@"yyyy-MM-dd";

格式化日期.

NSString*dateString =  [fmtstringFromDate:datePick.date];

给日期文本框赋值.

self.text= dateString;

}

@end

相关文章

网友评论

      本文标题:06-自定义生日键盘

      本文链接:https://www.haomeiwen.com/subject/muklmttx.html