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

如何运行主故事板(main)之外的其他故事板?

如何单独运行新创建的故事板(不关联主故事板)

方法一:修改项目Info配置直接指定启动故事板

  • 打开Xcode,选中项目导航栏里的根项目
  • 切换到Info标签页
  • 找到Custom iOS Target Properties下的Main storyboard file base name,把它的值改成你新故事板的名称(不用加.storyboard后缀)
  • 确保你的新故事板已经设置了初始视图控制器:打开故事板,选中要作为启动的视图控制器,在右侧属性面板勾选Is Initial View Controller

方法二:用代码动态设置启动控制器(更灵活)

如果不想修改Info配置,或者需要根据条件切换启动故事板,可以用代码实现:

适用于UIKit项目(AppDelegate)

打开AppDelegate.swift,在application(_:didFinishLaunchingWithOptions:)方法里添加代码:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // 替换成你的新故事板名称
    let targetStoryboard = UIStoryboard(name: "NewStoryboard", bundle: nil)
    if let initialVC = targetStoryboard.instantiateInitialViewController() {
        window?.rootViewController = initialVC
        window?.makeKeyAndVisible()
    }
    return true
}

适用于iOS 13+的UIKit项目(SceneDelegate)

打开SceneDelegate.swift,在scene(_:willConnectTo:options:)方法里修改:

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    guard let windowScene = scene as? UIWindowScene else { return }
    let window = UIWindow(windowScene: windowScene)
    // 替换成你的新故事板名称
    let targetStoryboard = UIStoryboard(name: "NewStoryboard", bundle: nil)
    window.rootViewController = targetStoryboard.instantiateInitialViewController()
    self.window = window
    window.makeKeyAndVisible()
}

最后验证

清理项目(快捷键Cmd+Shift+K),重新构建运行(Cmd+R),模拟器就会加载你的新故事板了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 01:42:08