UITableViewCell和resignFirstResponder

时间:2011-07-26 22:08:56

标签: iphone objective-c uitableview uitextfield

我在每个单元格中都有一个UITableView UITextField。当用户按预期点击UITextField时,将弹出键盘。

我已在我的委托tableView: didSelectRowAtIndexPath:方法中使用resignFirstResponder发送到最后使用的UITextField来解雇键盘。

如果显示使用了最后UITextField的单元格,则一切正常。

现在,如果我向下滚动到tableview的底部并按一行,则resignFirstResponder将被发送到隐藏的UITextField并且不会隐藏键盘。它也不会引发错误。

在这种情况下如何隐藏键盘?

4 个答案:

答案 0 :(得分:4)

查看UITextFieldDelegate并输入

[textField resignFirstResponder];
其中一个回调函数中的

方法。我特别喜欢:

- (BOOL)textFieldShouldReturn:(UITextField *)textField;

答案 1 :(得分:0)

您是否尝试调用endEditing:YES的<{1}}方法?

答案 2 :(得分:0)

-(IBAction)hidekey:(id) sender{

[textField resignFirstResponder];
}

如果您使用“界面”构建器,则选中文本字段的出口,并在.m文件中使用上述功能并为该文本字段定义。它会起作用。

答案 3 :(得分:0)

请将本教程用于Create a return Key for UIKeyboardTypeNumberPad!这可以为你节省很多时间。