iPad不知道哪个Textfield打开了键盘
-
11-10-2019 - |
题
有没有办法做一般 resignFirstResponder
隐藏键盘,无论哪种textfield/view/etc称为什么?
原因是我的视野有很多文字场 resignFirstResponder
对于所有TextFields隐藏键盘。只想要一般
[self resignFirstResponder]
.
有任何想法吗?
提前致谢
解决方案
最简单的方法是有一种方法,只要您想解开看起来像这样的键盘:
-(void)dismissKeyboard {
[firstField becomeFirstResponder];
[firstField resignFirstResponder];
}
其他提示
我知道这已经被标记为已回答,但是对于那些像我一样遇到的人,您可以在包含文本场的视图上使用以下方法。
- (BOOL)endEditing:(BOOL)force
此方法查看当前视图及其子视图层次结构,该层次结构目前是第一名。如果找到一个,它要求该文本字段辞职为第一响应者。如果将力参数设置为“是”,那么文本字段甚至都不会被问到。它被迫辞职。 Uiview文档
[self.view endEditing:YES];
当我们单击视图时,它将隐藏键盘。
您可以在无需参考UITEXTFIELD / UITEXTVIEW的情况下解雇键盘:
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
这将在无参考的情况下在全球范围内解散键盘。
希望这会帮助你。
您可以检查以下问题:
总而言之:您可以在选择的其他一些东西上调用beadfirstresponder。它可能是UiviewController或Uiview。我以前遇到过类似的问题,当我将视图控制器推回呼叫者时,我需要使键盘消失,而不知道哪个Textfield是第一响应者。然后,在我要返回的视图控制器的ViewWillAppear上,我称[self beavefirstresponder],并且推动视图的键盘消失了。因为这使任何文本字段成为第一响应者
在我自己的应用程序中,当我有一个以上的文本字段时,想让键盘消失,无论哪个字段都称呼它,我只会写一种方法,让每个方法让每个方法 resignFirstResponder
.
我认为,作为程序员,您应该清楚地知道您的视图控制器上有多少文本字段以及如何访问它们,否则它会弄乱,并且您的应用看起来不错...::p