ios – 如果用户以编程方式命中UITextfield,如何显示UIDatePicker

只有当用户UITextField被点击时,才想显示UIDatePicker.当选择日期时,它应该显示在相同的UITextField中.我想以编程方式实现UIDatePicker.我知道如何编写UITextField的代码.
我甚至不知道如何调用UIDatePicker.
有人可以帮我吗

出生日期

UITextField txtdob=[[UITextField alloc]initWithFrame:CGRectMake(10,190,300,20)];

txtdob.borderStyle=UITextBorderStyleNone;

txtdob.backgroundColor=[UIColor clearColor];

[txtdob setUserInteractionEnabled:NO];

txtdob.font=[UIFont systemFontOfSize:14.0];

txtdob.contentVerticalAlignment=UIControlContentVerticalAlignmentCenter;

txtdob.textAlignment=NSTextAlignmentLeft;

txtdob.delegate=self;

[self.view addSubview:txtdob];

解决方法

最简单的方法是实现datePicker如下:

创建datePicker:

self.datePicker = [[UIDatePicker alloc] initWithFrame:CGRectZero];
[self.datePicker setDatePickerMode:UIDatePickerModeDate];
[self.datePicker addTarget:self action:@selector(onDatePickerValueChanged:) forControlEvents:UIControlEventValueChanged];

然后将datePicker链接到textfield inputView:

self.textField.inputView = self.pickerView;

最后,您可以在选择日期时捕获该操作,并将日期转换为字符串,以在textField中显示所选日期

- (void)onDatePickerValueChanged:(UIDatePicker *)datePicker
{
    self.textField.text = [self.dateFormatter stringFromDate:datePicker.date];
}

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...