iOS - UITextFieldKeyBoardPan为时间选择器

来源:互联网 发布:cf卡数据恢复 编辑:程序博客网 时间:2024/04/28 13:56

时间选择器需要用到”UIDatePicker”这个类, 代码如下:

#import "ViewController.h"@interface ViewController ()<UITextFieldDelegate>@property (weak, nonatomic) IBOutlet UITextField *dateTF;@property (nonatomic, strong) UIDatePicker *datePicker;@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    //设置TF的代理    self.dateTF.delegate = self;    //初始化表盘    [self setupDateKeyPan];}- (void)setupDateKeyPan {    UIDatePicker *datePicker = [[UIDatePicker alloc] init];    //设置地区: zh-中国    datePicker.locale = [NSLocale localeWithLocaleIdentifier:@"zh"];    //设置日期模式(Displays month, day, and year depending on the locale setting)    datePicker.datePickerMode = UIDatePickerModeDate;    //监听DataPicker的滚动    [datePicker addTarget:self action:@selector(dateChange:) forControlEvents:UIControlEventValueChanged];    self.datePicker = datePicker;    //设置时间输入框的键盘框样式为时间选择器    self.dateTF.inputView = datePicker;}//禁止用户输入文字- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{    return NO;}//became first responder(已经成为第一响应者的时候调用), 目的是为了弹出键盘, TF默认显示当前日期- (void)textFieldDidBeginEditing:(UITextField *)textField{    [self dateChange:_datePicker];}- (void)dateChange:(UIDatePicker *)datePicker {    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];    //设置时间格式    formatter.dateFormat = @"yyyy-MM-dd";    NSString *dateStr = [formatter  stringFromDate:datePicker.date];    self.dateTF.text = dateStr;}//点击当前视图, 结束编辑状态- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{    [self.view endEditing:YES];}@end
0 0
原创粉丝点击