IPad在不知道哪个Textfield打开它的情况下关闭键盘

IPa*_*ash 12 iphone keyboard objective-c ipad resignfirstresponder

有没有办法做一般resignFirstResponder隐藏键盘,无论textfield/view/etc调用它?

原因是我的视图中有很多文本字段,并且不希望resignFirstResponder所有文本字段都隐藏键盘.只想要一个将军

[self resignFirstResponder].

有任何想法吗?

提前致谢

BLe*_*LeB 20

我知道这已被标记为已回答,但对于那些遇到此问题的人,我可以在包含文本字段的视图上使用以下方法.

- (BOOL)endEditing:(BOOL)force
Run Code Online (Sandbox Code Playgroud)

此方法查看当前第一个响应者的文本字段的当前视图及其子视图层次结构.如果找到一个,则要求该文本字段作为第一响应者辞职.如果force参数设置为YES,则永远不会询问文本字段; 它被迫辞职.UIView文档

[self.view endEditing:YES];
Run Code Online (Sandbox Code Playgroud)

当我们点击视图时它会隐藏键盘.

  • 这是一个比@Jumhyn更好的答案 (2认同)

sil*_*eep 6

您可以在下面的代码的帮助下,在没有任何UITextfield/UITextView参考的情况下关闭键盘:

[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
Run Code Online (Sandbox Code Playgroud)

这将在没有引用的情况下全局关闭键盘.

希望这会帮助你.


Jum*_*hyn 3

最简单的方法是有一个方法,每当您想要关闭键盘时,如下所示:

-(void)dismissKeyboard {
    [firstField becomeFirstResponder];
    [firstField resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)