【问题标题】:textFieldShouldReturn is not called未调用 textFieldShouldReturn
【发布时间】:2012-04-23 19:42:52
【问题描述】:

我想让键盘在用户点击“返回”按钮时消失,我被告知要使用

-(BOOL)textFieldShouldReturn:(UITextField *)textField {
    [tf resignFirstResponder];
    return YES;
}

但是当我点击“返回”按钮时没有任何反应,甚至没有调用该方法。我正在这样做

@interface gameOverMenu : UIView

不在 ViewController 中。我也不使用界面生成器。我该怎么办?

【问题讨论】:

  • 你是否将 UITextField 的委托设置为包含该方法的对象?
  • 您是否将视图控制器指定为

标签: objective-c ios keyboard


【解决方案1】:

您需要确保实现 UITextFieldDelegate 并将您的 UITextField 委托设置为 self。在您的 .h 文件中:

@interface gameOverMenu : UIView <UITextFieldDelegate>

在你的 .m 文件中的某个地方(viewDidLoad:也许):

self.yourTextField.delegate = self;

现在应该调用您的 -(BOOL)textFieldShouldReturn:(UITextField *)textField 方法。

【讨论】:

  • 没问题。仅供参考,因为我看到你是新人——如果我的答案对你有最大的帮助,通常的做法是将我的答案标记为正确。奖励系统:)
  • 投票需要 15 声望
  • 欢迎来到最有帮助的编码社区!感谢您的接受。
  • 我觉得很奇怪,尽管在 IB 中拖动来设置 UITextField 的委托,但您仍然需要在代码中执行它才能工作。
【解决方案2】:

确保您已将父类(无论它是什么)设置为 UITextFieldDelegate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    相关资源
    最近更新 更多