美文网首页
2020-12-29 iOS SceneDelegate

2020-12-29 iOS SceneDelegate

作者: 宁愿无言 | 来源:发表于2020-12-29 09:51 被阅读0次

    1 SceneDelegate有什么用?可以删除吗?

    • 在iOS 13(及以后版本)上,SceneDelegate将负责AppDelegate的某些功能。 最重要的是,window(窗口)的概念已被scene(场景)的概念所代替。 一个应用程序可以具有不止一个场景,而一个场景现在可以作为您应用程序的用户界面和内容的载体(背景)。
    • 尤其是一个具有多场景的App的概念很有趣,因为它使您可以在iOS和iPadOS上构建多窗口应用程序。 例如,文档编辑器App中的每个文本文档都可以有自己的场景。 用户还可以创建场景的副本,同时运行一个应用程序的多个实例(类似多开)。

    使用不习惯的可以删除,删除之后未发现和之前版本有不同之处

     1、删除SceneDelegate文件;
     2、删除AppDelegate文件中的application(_:configurationForConnecting:options:)和application(_:didDiscardSceneSessions:)方法
     3、删除info.plist文件中的Application Scene Manifest字典
    

    2 不删除也能达到之前效果

    不删除的话,许多操作需要判断iOS13之后才能使用。方法解释:

    // 当场景与app断开连接是调用(注意,以后它可能被重新连接)
    - (void)sceneDidDisconnect:(UIScene *)scene {
    }
    // 用户开始与场景进行交互(例如从应用切换器中选择场景)时,会调用
    - (void)sceneDidBecomeActive:(UIScene *)scene {
    }
    // 当用户停止与场景交互(例如通过切换器切换到另一个场景)时调用
    - (void)sceneWillResignActive:(UIScene *)scene {
    }
    // 当场景变成活动窗口时调用,即从后台状态变成开始或恢复状态
    - (void)sceneWillEnterForeground:(UIScene *)scene {
    }
    // 当场景进入后台时调用,即该应用已最小化但仍存活在后台中
    - (void)sceneDidEnterBackground:(UIScene *)scene {
    }
    

    相关文章

      网友评论

          本文标题:2020-12-29 iOS SceneDelegate

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