Iphone UITextfield的日期选择器,是否应使用NSDatePicker?

Iphone UITextfield的日期选择器,是否应使用NSDatePicker?,iphone,datepicker,uitextfield,Iphone,Datepicker,Uitextfield,我有一个UITextfield“生日”,现在点击文本字段后,我有一个键盘,我想把它改成日期选择器 有人可以一步一步地帮助我吗?我应该向我的代码中添加什么?我需要做什么更改 以下是我的UITextField“生日”的内容: 根据Jonathan的回答,我现在得到的是: -(void)textFieldDidBeginEditing:(UITextField *)textField { if textField == XtextLabel { UIDatePicker

我有一个UITextfield“生日”,现在点击文本字段后,我有一个键盘,我想把它改成日期选择器

有人可以一步一步地帮助我吗?我应该向我的代码中添加什么?我需要做什么更改

以下是我的UITextField“生日”的内容:

根据Jonathan的回答,我现在得到的是:

-(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
}