我在 ViewController 中有 2 个 UITextField。一个调出 UIDatePicker,另一个调出 KeyBoard(数字键盘)。然后,我在以下方法中将用户输入分配给两个类变量,一个 NSDate 变量和一个 NSNumber 变量。
-(void)textFieldDidEndEditing:(UITextField *)textField{
if (textField == self.datePickerTextField){
//update xxtime
self.xxTime = self.datePicker.date;
NSLog(@"...%@",self.xxTime);
}
if (textField == self.numberTextField) {
int val = [textField.text intValue];
self.xxNumber = [NSNumber numberWithInt:val];
NSLog(@"...%@",self.xxNumber);
}
}
如果我先点击 datePickerTextField,然后点击 numberTextField,则在我完成 numberTextField 的输入后不会调用此方法。
所以我的问题是如何调用此方法?我应该在某处指定“resignFirstResponder”吗?
TIA
最佳答案
一旦另一个控件获得焦点,它将调用 didEndEditing
根据API ,
This method is called after the text field resigns its first responder status.
所以如果你想didEndEditing被调用,你需要调用
[textField resignFirstResponder];
关于ios - 什么时候textFieldDidEndEditing :textField be called?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21109183/