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