代码之家  ›  专栏  ›  技术社区  ›  Dan Rosenstark

在不知道第一响应者的情况下隐藏iPhone上的输入键盘?

  •  10
  • Dan Rosenstark  · 技术社区  · 14 年前

    我见过 this question 但问题是如何知道哪个textview是第一个响应者? This question looked promising 去找出第一个响应者,但结果却是它调用了私有API。有没有办法隐藏键盘或找出第一响应者是谁有键盘?

    3 回复  |  直到 8 年前
        1
  •  25
  •   Andrey Zverev    13 年前

    这很容易:

    [[[UIApplication sharedApplication] keyWindow] endEditing:YES];
    

    看一看 UIView Class Reference .

        2
  •  4
  •   Tejaswi Yerukalapudi    14 年前

    [textView isFirstResponder] 应该告诉你是不是第一反应者。我想你可以循环访问你的类中的所有文本字段,检查它是否是第一响应者。

    或者您可以在每个文本字段上调用resignfirstresponder,它仍然有效。

        3
  •  3
  •   Jared Pochtar    14 年前

    我相信你应该选择一些东西来成为第一反应者,一些可能自己不做任何事情的东西,然后打电话给 -[UIResponder becomeFirstResponder] 关于它。这对于uiviewcontroller或uiwindow(您可以通过它 -[UIView window] ,我认为)因为这些响应器具有最相似的响应器链,并且会使当前的第一响应器释放其第一响应器状态,从而忽略键盘,但也不会显示键盘,因为它不是uitextfield。