【问题标题】:How to hide Keyboard which is in another window? Swift如何隐藏另一个窗口中的键盘?迅速
【发布时间】:2021-09-25 00:16:50
【问题描述】:

我有一个框架,它有一个新窗口,在那个窗口中,我有一个按钮。现在我已经在我的主机应用程序中导入了该框架,现在我有了一个浮动按钮。所以现在当我点击那个按钮时,底部会出现一个警报。但是问题来了,当键盘在主机应用程序窗口中打开并且我尝试单击该按钮时,警报会打开但隐藏在键盘后面。单击按钮后如何关闭该键盘?如何从另一个窗口关闭窗口的键盘?或者,如果我可以将我的框架窗口级别设置为高于键盘窗口级别,这也对我有用。任何帮助将不胜感激。

【问题讨论】:

  • 在打开警报的方法之前键入view.endEditing(true)
  • 我在另一个窗口,它只会结束当前窗口的编辑。我想结束对另一个窗口的编辑
  • 使用协议和委托或 NSNotificationCenter 使用关闭键盘..

标签: ios swift keyboard frameworks uiwindow


【解决方案1】:

首先,获取宿主应用keyWindow的引用

  func getHostKeyWindow() -> UIWindow? {
    if #available(iOS 13, *) {
        return windows.first { $0.isKeyWindow }
    } else {
        return keyWindow
    }
}

然后简单地将endEditing 设为true

UIApplication.shared.getHostKeyWindow()?.endEditing(true)

它应该在您有参考的窗口中关闭键盘!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 2011-09-25
    • 2016-12-28
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多