如何在用户按“完成”或点击 UITextField 后隐藏键盘?
我已将此代码放入 AppDelegate 中:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
我已将 IB 中的 UITextField 委托(delegate)链接到文件的所有者..
我做错了什么?
编辑:更改 return NO -> return YES 不执行任何操作。我打开 IB 并单击文件的所有者 -> 连接选项卡,有多个引用导出都指向 UITextfields。它仍然不起作用..
更新:
我将其添加到我的函数中:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
int i = 5;
NSLog(@"%d", i);
return YES;
}
当我将焦点设置到文本字段后按回车键时,没有任何内容打印到控制台......所以它没有调用该函数。我是否错误地连接了某些东西?我的返回键也充当“完成”,不确定这是否有区别?
更新:
我的 AppDelegate 中有 testfieldShouldReturn 函数,而不是 View Controller 。我的错误......谢谢你们的帮助
最佳答案
你的代码看起来不错。您能否确保代理连接设置正确?尝试将 NSLog 添加到委托(delegate)方法以查看它是否被调用。
...
您的问题更新表明这肯定是连接问题。尝试 Vince 的建议并在代码中显式设置委托(delegate)。您可能需要在 View Controller 的 viewDidLoad 方法中执行此操作,以确保在设置其委托(delegate)之前 textField 已实际加载。回复一下这是否有效。
关于iphone - 如何隐藏键盘 iPhone 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6628892/