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

有没有办法做一般
resignFirstResponder
隐藏键盘,无论textfield / view / etc调用它? 原因是我的视图中有很多文本字段,并且不希望所有文本字段都隐藏键盘
resignFirstResponder
。只想要一个将军
[self resignFirstResponder]
。 有任何想法吗? 提前致谢     
已邀请:
最简单的方法是,只要你想要解除看起来像这样的键盘,就有一个方法:
-(void)dismissKeyboard {
    [firstField becomeFirstResponder];
    [firstField resignFirstResponder];
}
    
我知道这已被标记为已回答,但对于那些遇到此问题的人,我可以在包含文本字段的视图上使用以下方法。
- (BOOL)endEditing:(BOOL)force
  此方法查看当前第一个响应者的文本字段的当前视图及其子视图层次结构。如果找到一个,则要求该文本字段作为第一响应者辞职。如果force参数设置为YES,则永远不会询问文本字段;它被迫辞职。 UIView文档
[self.view endEditing:YES];
当我们点击视图时它会隐藏键盘。     
您可以在下面的代码的帮助下,在没有任何UITextfield / UITextView参考的情况下关闭键盘:
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
这将在没有引用的情况下全局关闭键盘。 希望这会帮助你。     
您可以查看以下问题: 是否有可能使iPhone键盘不可见/删除它而不会让第一响应者退出? 在不知道第一响应者的情况下在iPhone上隐藏输入键盘? 综上所述: 你可以在你选择的其他东西上调用becomeFirstResponder。它可以是UIViewController或UIView。之前我遇到过类似的问题,当我将视图控制器推回到调用者时,我需要让键盘消失,而不知道哪个文本字段是第一个响应者。然后,在我返回的视图控制器的viewWillAppear上,我调用[self becomeFirstResponder]并且推送视图的键盘消失了。因为这使得任何文本字段都松散成为第一响应者     
在我自己的应用程序中,当我有多个文本字段并且想要使键盘消失而不管哪个字段调用它时,我只会写一个方法并让它们中的每一个
resignFirstResponder
。 我假设作为程序员,您应该清楚地知道视图控制器上有多少文本字段以及如何访问它们,否则它会搞砸,你的应用程序看起来不会很好...... :-P     

要回复问题请先登录注册