2

这行代码是在我的电子邮件 textField editingDidEnd 时运行的。NSLog 运行,所以我知道该功能已运行,但键盘仍然没有消失。我已将文本框连接为代表。我已经确保故事板中的连接在那里。它仍然不会改变。帮助。谢谢。

- (IBAction)emailDone2:(id)sender
{
    [_email resignFirstResponder];
    NSLog(@"emailDone2");
}

编辑* *我按照指示更改了代码,但这仍然没有任何作用。什么也没有变。

- (IBAction)emailDone2:(id)sender
{
    [self.view endEditing:TRUE];
}
4

2 回答 2

4

问题是你认为谁是第一响应者和谁第一响应者可能不一样。幸运的是,已经有一种方法可以解决这个问题。尝试使用

[topView endEditing:YES];

其中 topView 是最顶层的视图。endEditing 将遍历子视图,找到第一响应者,并告诉它辞职第一响应者。这比跟踪哪个子视图拥有它要简单得多。

在没有响应 resignFirstResponder 的键盘中发现这个,在侧边栏中链接到这个问题。

于 2014-03-04T01:45:44.190 回答
0

textViewShouldEndEditing 的返回值应该为 true,以便 resignFirstResponder 关闭

于 2020-06-17T12:17:58.250 回答