2

在我的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 都是UITextFields)

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

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

任何帮助表示赞赏!

4

2 回答 2

8
if([textField1 isFirstResponder]) {

}
else if[textField2 isFirstResponder]){

}

...etc...
于 2012-12-14T05:41:41.623 回答
0

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

于 2012-12-13T19:43:36.857 回答