如何为多个UITextField使用一个UIDatePicker?

时间:2012-12-13 18:33:40

标签: objective-c uitextfield uidatepicker inputview

在我的viewDidLoad我有以下代码:

UIDatePicker* datePicker = [[UIDatePicker alloc] init];
datePicker.datePickerMode = UIDatePickerModeDate;
[datePicker addTarget:self action:@selector(datePickerChanged:) forControlEvents:UIControlEventValueChanged];
dateField1.inputView = datePicker;
dateField2.inputView = datePicker;
dateField3.inputView = datePicker;
dateField4.inputView = datePicker;

(dateField都是UITextField s)

在我的-(void)datePickerChanged:(UIDatePicker*)datePicker中 方法,我如何知道正在编辑哪个dateField,以便我可以填写选择的日期?

目前我正在为每个UITextField使用新的UIDatePicker,但我希望这种情况有更优雅的解决方案。

感谢任何帮助!

2 个答案:

答案 0 :(得分:8)

if([textField1 isFirstResponder]) {

}
else if[textField2 isFirstResponder]){

}

...etc...

答案 1 :(得分:0)

您可以为dateFields设置不同的标记,并检查datePickerChanged:方法中更改了哪些字段。但要做到这一点,你应该将原始结果存储在另一个地方(例如在你的dateField标签将成为键的字典中)。我之前没有尝试过,但应该工作。