美文网首页
Swift - 更改启动方式(设置根视图)

Swift - 更改启动方式(设置根视图)

作者: 追梦赤子心Year | 来源:发表于2024-12-25 16:51 被阅读0次

App的启动方式有两种:Storyboard启动,AppDelegate启动。

iOS13以后,新增了SceneDelegate类,处理 App 生命周期和新的 Scene Session 生命周期,在AppDelegate中没有了window属性,而是在SceneDelegate中。SceneDelegate负责原有AppDelegate的某些功能, window的概念由窗口变为场景

更改为代码启动

改为SceneDelegate启动

  1. 删除Main.storyboard中的代表根视图的启动箭头
  2. 在SceneDelegate的func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions)中添加根视图
window = UIWindow(windowScene: scene as! UIWindowScene)        
let rootVC = TabbarVC()
window?.rootViewController = rootVC
window?.makeKeyAndVisible()

改为AppDelegate启动。

用xcode11之后版本新建的项目,默认是配置了SceneDelegate的。适配iOS13之前的代码,可以将其改为从Appdelegate启动。

  1. 删除Main.storyboard中的代表根视图的启动箭头
  2. 删除SceneDelegate文件
  3. 删除info中的启动配置
  4. 删除Appdelegate中关于SceneDelegate的代码
  5. 在Appdelegate中定义window
let window = UIWindow()
  1. 在Appdelegate的func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool中设置根视图
        let vc = ViewController()
        let navi = UINavigationController.init(rootViewController: vc)
        self.window.rootViewController = navi
        self.window.makeKeyAndVisible()

相关文章

网友评论

      本文标题:Swift - 更改启动方式(设置根视图)

      本文链接:https://www.haomeiwen.com/subject/azbysjtx.html