未调用 textFieldShouldReturn
Posted
技术标签:
【中文标题】未调用 textFieldShouldReturn【英文标题】:textFieldShouldReturn is not called 【发布时间】:2012-04-23 19:42:52 【问题描述】:我想让键盘在用户点击“返回”按钮时消失,我被告知要使用
-(BOOL)textFieldShouldReturn:(UITextField *)textField
[tf resignFirstResponder];
return YES;
但是当我点击“返回”按钮时没有任何反应,甚至没有调用该方法。我正在这样做
@interface gameOverMenu : UIView
不在 ViewController 中。我也不使用界面生成器。我该怎么办?
【问题讨论】:
你是否将 UITextField 的委托设置为包含该方法的对象? 您是否将视图控制器指定为您需要确保实现 UITextFieldDelegate 并将您的 UITextField 委托设置为 self。在您的 .h 文件中:
@interface gameOverMenu : UIView <UITextFieldDelegate>
在你的 .m 文件中的某个地方(viewDidLoad:也许):
self.yourTextField.delegate = self;
现在应该调用您的 -(BOOL)textFieldShouldReturn:(UITextField *)textField 方法。
【讨论】:
没问题。仅供参考,因为我看到你是新人——如果我的答案对你有最大的帮助,通常的做法是将我的答案标记为正确。奖励系统:) 投票需要 15 声望 欢迎来到最有帮助的编码社区!感谢您的接受。 我觉得很奇怪,尽管在 IB 中拖动来设置 UITextField 的委托,但您仍然需要在代码中执行它才能工作。【参考方案2】:确保您已将父类(无论它是什么)设置为 UITextFieldDelegate
【讨论】:
以上是关于未调用 textFieldShouldReturn的主要内容,如果未能解决你的问题,请参考以下文章
textFieldShouldReturn - completionHandler 中的某些方法永远不会被调用
在自定义 UITableCell 中从 UITextField 调用 textFieldShouldReturn 时遇到问题