zoukankan      html  css  js  c++  java
  • Xcode11: 删除默认Main.storyBoard, 自定义UIWindow的变化 UIWindow 不能在AppDelegate中处理

    Xcode自动新增了一个SceneDelegate文件,查找了一下官方文档WWDC2019:Optimizing App Launch 发现,iOS13中appdelegate的职责发现了改变: iOS13之前,Appdelegate的职责全权处理App生命周期和UI生命周期; iOS13之后,Appdelegate的职责是: 1、处理 App 生命周期 2、新的 Scene Session 生命周期 那UI的生命周期呢?交给新增的Scene Delegate处理, Appdelegate不在负责UI生命周期,所有UI生命周期交给SceneDelegate处理

    除了与以前版本一样,要删除Main storyboard file base name之外, 还要在项目Info.plist中, 删除SceneDelegate的StoryboardName

    初始化window方法需要改变: 现在不再在Appdelegate的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions进行初始化, 而是在SceneDelegate中初始化了

    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
            // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
            // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
            // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
            // MARK  ------  iOS13之前,Appdelegate的职责全权处理App生命周期和UI生命周期,iOS13之后,Appdelegate的职责是: 1、处理 App 生命周期 2、新的 Scene Session 生命周期 那UI的生命周期呢?交给新增的Scene Delegate处理, Appdelegate不在负责UI生命周期,所有UI生命周期交给SceneDelegate处理
            guard let windowScene = (scene as? UIWindowScene) else { return }
            
            self.window = UIWindow.init(windowScene: windowScene)
            self.window?.rootViewController = UINavigationController.init(rootViewController: ViewController.init())
            self.window?.backgroundColor = UIColor.white
            self.window?.makeKeyAndVisible()
        }
  • 相关阅读:
    Java连载91-Map常用方法、Hashtable、SortedMap
    Python爬虫连载11-cookie、session、验证SSL证书、数据提取简介
    Java连载90-Sorted、Map讲解
    HTML连载71-翻转菜单练习
    Java连载89-SorteSet、Comparable接口
    Python爬虫连载10-Requests模块、Proxy代理
    Java连载88-HashSet集合与hashCode方法重写
    [设计模式] 设计模式课程(五)--装饰模式
    [设计模式] 设计模式课程(四)-- 观察者模式
    [设计模式] 设计模式课程(二)-- 模板模式
  • 原文地址:https://www.cnblogs.com/edensyd/p/12343302.html
Copyright © 2011-2022 走看看