我在UITableView中有UITextField。我在我的UITableView的cellForRowAtIndexPath方法中设置了文本视图的委托,如下所示
cell.textField.delegate = self;
但是当我完成编辑并按“完成”后,我的委托方法中没有得到任何内容,如下所示。可能是什么原因?
-(void) textFieldDidEndEditing: (UITextField * ) textField {
NSLog(@"here");
}
答案 0 :(得分:1)
在文本字段重新响应第一个响应者状态后调用textFieldDidEndEditing:
方法。要使文本字段退出第一响应者状态,请向其发送resignFirstResponder
消息。这样做的好地方是文本字段委托的textFieldShouldReturn:
方法。它看起来像这样:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
当用户点按“完成”键时,系统会调用textFieldShouldReturn:
方法,导致文本字段重新启动第一响应者状态并调用textFieldDidEndEditing:
。