Iphone UITextfield的日期选择器,是否应使用NSDatePicker?
我有一个UITextfield“生日”,现在点击文本字段后,我有一个键盘,我想把它改成日期选择器 有人可以一步一步地帮助我吗?我应该向我的代码中添加什么?我需要做什么更改 以下是我的UITextField“生日”的内容: 根据Jonathan的回答,我现在得到的是:Iphone UITextfield的日期选择器,是否应使用NSDatePicker?,iphone,datepicker,uitextfield,Iphone,Datepicker,Uitextfield,我有一个UITextfield“生日”,现在点击文本字段后,我有一个键盘,我想把它改成日期选择器 有人可以一步一步地帮助我吗?我应该向我的代码中添加什么?我需要做什么更改 以下是我的UITextField“生日”的内容: 根据Jonathan的回答,我现在得到的是: -(void)textFieldDidBeginEditing:(UITextField *)textField { if textField == XtextLabel { UIDatePicker
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
if textField == XtextLabel
{
UIDatePicker *datePicker = [[UIDatePicker alloc] init];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] ;
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [[NSDateComponents alloc] init] ;
[comps setYear:-0];
NSDate *maximumDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
[comps setYear:-90];
NSDate *minimumDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
[datePicker setMaximumDate:maximumDate];
[datePicker setMinimumDate:minimumDate];
datePicker.datePickerMode = UIDatePickerModeDate;
textField.inputView = datePicker;
}
}
如何在XtextLabel中显示选定的日期并退出日期选择器?类似于
UIDatePicker *datePicker = [[[UIDatePicker alloc] init]];
datePicker.datePickerMode = UIDatePickerModeDate;
[datePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged];
textField.inputView = datePicker;
- (IBAction)datePickerValueChanged:(id)sender {
NSDate *pickerDate = [sender date]; //Do something with the date
}
查看UITextfield的inputview,您可以将其设置为UIDatePicker。谢谢,为什么在单击一年| | |月| | |日后出现此错误-[NRLoginViewController DATEPICKERVALUENCHANGED]:发送到实例的选择器无法识别,因此这里发生的是,使用addTarget方法,我们告诉datePicker控件在日期更改时调用函数。在这种情况下,函数是datePickerValueChanged。如果您不想在该点上对日期值进行任何修改,可以删除该行。我已将该函数添加到答案中,以供您参考。谢谢@Jonathan,我如何在此限制年份?您可以在UIDatePicker上设置minimumDate和maximumDate。
UIDatePicker *datePicker = [[[UIDatePicker alloc] init]];
datePicker.datePickerMode = UIDatePickerModeDate;
[datePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged];
textField.inputView = datePicker;
- (IBAction)datePickerValueChanged:(id)sender {
NSDate *pickerDate = [sender date]; //Do something with the date
}