You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Xcode新建项目从SwiftUI切换为Storyboard?

如何将Xcode默认SwiftUI项目改为Storyboard开发

当然可以改用Storyboard开发,具体操作步骤如下:

  • 添加Storyboard文件
    右键项目导航区空白处,选择「New File...」,在iOS分类下找到「User Interface」里的「Storyboard」,命名为Main(保持默认命名更符合iOS开发习惯),点击「Create」完成创建。

  • 配置启动界面为Storyboard
    选中项目根节点(蓝色的项目图标),切换到右侧的「Info」标签栏:

    1. 找到「Custom iOS Target Properties」,如果存在「Main storyboard file base name」项就删除它,然后添加新的键值对:键填UIMainStoryboardFile,值填你刚才命名的Storyboard名称(比如Main)。
    2. 找到「Application Scene Manifest」字典,删除「Scene Configuration -> Application Session Role -> Item 0 -> Storyboard Name」项;如果不需要多场景支持,也可以直接删除整个「Application Scene Manifest」字典。
  • 调整入口代码(SceneDelegate/AppDelegate)
    如果项目是iOS 13+的SceneDelegate结构:
    打开SceneDelegate.swift,找到scene(_:willConnectTo:options:)方法,替换原有SwiftUI代码为:

    guard let windowScene = (scene as? UIWindowScene) else { return }
    let window = UIWindow(windowScene: windowScene)
    window.rootViewController = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController()
    self.window = window
    window.makeKeyAndVisible()
    

    如果想改用AppDelegate为主(或适配iOS 12及以下):
    删除SceneDelegate.swift,然后在AppDelegate.swift中添加以下代码:

    var window: UIWindow?
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        window = UIWindow(frame: UIScreen.main.bounds)
        window?.rootViewController = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController()
        window?.makeKeyAndVisible()
        return true
    }
    
  • 设置Storyboard初始控制器
    打开新建的Main.storyboard,拖拽一个ViewController到画布上,选中该控制器,点击右侧「Attributes Inspector」(第四个图标),勾选「Is Initial View Controller」,确保App启动时会加载这个控制器。

  • 清理SwiftUI冗余文件(可选)
    删除默认生成的ContentView.swift和[你的项目名]App.swift,这些是SwiftUI的入口文件,改用Storyboard后不再需要。

内容的提问来源于stack exchange,提问作者Chris Hansen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 07:14:59