首页 > 解决方案 > 如何隐藏另一个窗口中的键盘?迅速

问题描述

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

标签: iosswiftkeyboardframeworksuiwindow

解决方案


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

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

然后简单地制作endEditingtrue

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

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


推荐阅读