更新:终于让它工作了。请参阅下面的代码SceneDelegate.swift
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(frame: windowScene.coordinateSpace.bounds)
window?.windowScene = windowScene
window?.rootViewController = ViewController()
window?.makeKeyAndVisible()
}
Run Code Online (Sandbox Code Playgroud)
与在线教程和文章相比,我无法使用最新的 Xcode 创建工作 UI。Xcode 10 也是这种情况,但我当时并不关心。
我的步骤如下:
Main.storyboardMain从项目设置中删除编写基本UIWindow代码:
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
let mainVC = ViewController()
window?.rootViewController = mainVC
return true
}
Run Code Online (Sandbox Code Playgroud)
在这一点上,我收到一条错误消息,说找不到Main包中命名的故事板。如果我继续清除 中的条目Info.plist,这次它会抱怨故事板名称中没有足够的字符。
有任何想法吗?
AKI*_*MAR 16
这些是我在 Xcode 11 中以编程方式运行 UI 所遵循的步骤。
1)像往常一样创建一个新项目
2)我Main.Storyboard从左侧的项目导航器中删除了该文件。
3)在常规选项卡中,我Main从Main Interface下拉列表中
删除了该选项
4)接下来,转到您的Info.plist文件并Storyboard Name从列表中完全删除
5) 现在,如果您运行该应用程序,它应该不会崩溃,并且应该会向您显示黑屏。
6)接下来,转到SceneDelegate.swift文件并UIWindow像往常一样初始化您的对象。这里有一个问题,它是 Xcode 11 中的新功能。您还要设置对象的windowScene属性window,否则它将无法工作。

7) 全部完成后,转到您的 ViewController 类并将视图的背景颜色设置为某种颜色,您应该一切顺利。

您还可以使用模板: Xcode 11 Programmatic UIKit 模板
希望这对你有帮助!!!
| 归档时间: |
|
| 查看次数: |
4185 次 |
| 最近记录: |