iOS App 正在创建两个 UIWindow
Posted
技术标签:
【中文标题】iOS App 正在创建两个 UIWindow【英文标题】:iOS App is creating two UIWindow 【发布时间】:2017-09-06 16:43:50 【问题描述】:我正在重构一个现有项目以不再使用 .storyboards 并删除 .plist 中的初始主界面,但由于某种原因,该应用正在创建两个 UIWindow 实例。
我不知道为什么会发生这种情况,结果是当我创建我的实际 UIWindow 并使用 makeKeyAndVisible()
一秒钟时,我得到一个黑屏,直到实际的 rootViewController
变得可见,这发生了因为在那一瞬间,它显示了第一个颜色为nil
的 UIWindow。如果有人知道为什么会发生这种情况,我将不胜感激;)
编辑 1:
AppDelegate.swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
window = UIWindow(frame: UIScreen.main.bounds)
appCoordinator.start()
return true
AppCoordinator.swift
func start()
let mainVC = UIStoryboard(storyboard: .main).instantiateInitialViewController()
window.backgroundColor = .white
window.rootViewController = mainVC
window.makeKeyAndVisible()
【问题讨论】:
显示您的 AppDelegate 代码? @DonMag 添加了 appDelegate 代码 :) 抱歉,我无法使用典型代码复制UIWindow
的“双重实例”,以便在未定义“主界面”的情况下运行。我假设您在调试视图层次结构中看到了这一点?你是如何在appCoordinator
中分配window
的?
【参考方案1】:
检查“主界面”是否为空:
【讨论】:
感谢您的评论,是的:)以上是关于iOS App 正在创建两个 UIWindow的主要内容,如果未能解决你的问题,请参考以下文章
tableview 图像未正确显示 - iOS 8 iPhone App Objective C
使用 Apple iOS Provisioning Portal 创建 iOS App