程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了UIWindow不在iOS 13中显示内容大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决UIWindow不在iOS 13中显示内容?

开发过程中遇到UIWindow不在iOS 13中显示内容的问题如何解决?下面主要结合日常开发的经验,给出你关于UIWindow不在iOS 13中显示内容的解决方法建议,希望对你解决UIWindow不在iOS 13中显示内容有所启发或帮助;

在升级适用于iOS 13场景模式的代码时,我遇到了同样的问题。使用第二部分代码的一部分,我设法修复了所有内容,因此我的窗口再次出现。除了最后一行,我和你一样。尝试删除vIEwController.present(...)。这是我的代码:

let windowscene = UIApplication.shared
                .connectedScenes
                .filter { $0.activationState == .foregroundActive }
                .first
if let windowscene = windowscene as? UIwindowscene {
    popupWindow = UIWindow(windowscene: windowscenE)
}

然后,我像您一样介绍它:

popupWindow?.frame = UIScreen.main.bounds
popupWindow?.BACkgroundcolor = .clear
popupWindow?.windowLevel = UIWindow.Level.statusbar + 1
popupWindow?.rootVIEwController = self as? UIVIEwController
popupWindow?.makeKeyAndVisible()

无论如何,我个人认为问题出在哪里vIEwController.present(...),因为您显示带有该控制器的窗口并立即显示一些“自我”,所以这取决于“自我”的真正含义。

还值得一提的是,我存储了对从控制器内部移动的窗口的引用。如果这仍然对您没用,我只能显示使用此代码的小型仓库。看看里面AnyPopupController.swiftPopup.swift文件。

希望有帮助,@ SirOz

解决方法

我正在升级应用程序以使用UISceneiOS 13中定义的新模式,但是该应用程序的关键部分已停止工作。我一直在使用a
UIWindow来覆盖屏幕上的当前内容并向用户显示新信息,但是在我正在使用的当前Beta(iOS + XCode beta
3)中,该窗口会出现,但随后会立即消失。

这是我正在使用的代码,现在无法使用:

let window = UIWindow(frame: UIScreen.main.bounds)
let viewController = UIViewController()
viewController.view.BACkgroundColor = .clear
window.rootViewController = viewController
window.windowLevel = UIWindow.Level.statusBar + 1
window.makeKeyAndVisible()
viewController.present(self,animated: true,completion: nil)

我已经尝试了很多方法,包括使用WindowScenes来展示新的东西UIWindow,但是却找不到任何实际的文档或示例。

我的尝试之一(没有用-窗口出现并立即消失的相同行为)

let windowScene = UIApplication.shared.connectedScenes.first
if let windowScene = windowScene as? UIWindowScene {
    let window = UIWindow(windowScene: windowScenE)
    let viewController = UIViewController()
    viewController.view.BACkgroundColor = .clear
    window.rootViewController = viewController
    window.windowLevel = UIWindow.Level.statusBar + 1
    window.makeKeyAndVisible()
    viewController.present(self,completion: nil)
}

在iOS 13 Beta中,有人能做到这一点吗?

谢谢

编辑

在问这个问题与发布iOS 13最终版本之间已经过去了一段时间。下面有很多答案,但是几乎所有答案都包含一件事- 向UIWindow添加更强/更强的引用
。您可能需要包括一些与新场景有关的代码,但是请尝试先添加强引用。

大佬总结

以上是大佬教程为你收集整理的UIWindow不在iOS 13中显示内容全部内容,希望文章能够帮你解决UIWindow不在iOS 13中显示内容所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。