iOS swiftDelegate 文件在添加代码时出现黑屏,请指导
Posted
技术标签:
【中文标题】iOS swiftDelegate 文件在添加代码时出现黑屏,请指导【英文标题】:iOS swiftDelegate file gives black screen on adding code, please guide 【发布时间】:2020-06-28 06:25:04 【问题描述】:在 sceneDelegate 中,我在 willConnectTo 中使用以下代码,我得到了 navigationController 但根视图控制器是黑屏,我可以更改其背景颜色等但我看不到任何视图对象,如标签、表格等,
所以这就是我所做的,我删除了故事板,删除了需要从 plist 中删除的条目,然后我将代码添加到我的 sceneDelegate,目标为 ios 13,现在的目标是能够添加一个导航控制器,我可以用它来移动到其他视图控制器,在这种情况下,我使用一个 ViewController 文件,它默认作为我的 rootviewcontroller,
现在一切正常,导航栏也可见,但是……这就是问题所在,rootviewcontroller 没有显示任何子视图,如标签、表格等,只有黑屏,我可以改变它的颜色,但又不能向它添加任何子视图,
请指导,谢谢
guard let winScene = (scene as? UIWindowScene) else return
let vc: ViewController = ViewController()
let nc = UINavigationController(rootViewController: vc)
let win = UIWindow(windowScene: winScene)
win.rootViewController = nc
win.makeKeyAndVisible()
window = win
【问题讨论】:
【参考方案1】:您只需要重新订购您的代码...
正如您在代码中看到的那样,您正在设置window
属性在使其成为关键和可见性,您应该在之前进行设置。
此外,您还可以直接从您的 window
属性调用您的 makeKeyAndVisible()
方法。
试试这个:
guard let winScene = (scene as? UIWindowScene) else return
let vc: ViewController = ViewController()
let nc = UINavigationController(rootViewController: vc)
let win = UIWindow(windowScene: winScene)
win.rootViewController = nc
window = win
window.makeKeyAndVisible()
【讨论】:
以上是关于iOS swiftDelegate 文件在添加代码时出现黑屏,请指导的主要内容,如果未能解决你的问题,请参考以下文章
Flutter:在 pubspec.yaml 文件中添加仅适用于 iOS 的插件