gpt4 book ai didi

ios - UIScene概念不清楚

转载 作者:行者123 更新时间:2023-12-03 18:30:53 25 4
gpt4 key购买 nike

在我们都习惯在AppDelegate中使用该方法之前,我们创建UIWindow,然后为此Window设置rootViewController.有时,当我们需要自定义警报时,我们可以在上面创建一个新的 UIWindow

现在 Xcode 自动创建 UIScene 并基于此场景创建 UIWindow。如果有人能详细解释如何在现实生活中使用这个场景,以及在 AppDelegate

中使用 UIWindow 的主要好处是什么,我将不胜感激

因为这个article没有解释太多

最佳答案

文档

您应该阅读 App and Environment Article 来自 Apple,而不是 UIScene 文档。

<小时/>

说明

正如它所说的 scenes :

Scene, Manage multiple instances of your app’s UI simultaneously, and direct resources to the appropriate instance of your UI.

在 iOS 13 之前,我们只有一个场景,因此我们唯一需要同时运行 ViewController 的就是多个彼此重叠的 Window。但现在,每个应用程序可以同时运行多个实例! 每个场景都有自己的状态,它可能位于前台,而其他场景则位于后台或暂停,而Window完全取决于应用程序本身。

假设我们有 2 个 View Controller (考虑没有场景)在设备的左侧和右侧运行,然后我们需要显示一个横幅。使用旧的窗口方法将在两者上显示横幅!如果您需要选择一个,您最终可能会找到正确的 Controller 并在其上显示横幅,(我认为我们所有人在熟悉 UIWindow 之前都完成了此方法)

因此苹果引入了Scene,它是应用程序的每个单独实例的容器。因此,您可以单独管理每个应用程序,每个应用程序就像一个单独的应用程序。它有自己的窗口 Controller 。但所有这些都由单个对象 UIApplication.shared 管理,并且它有一个 delegate 来处理一般事件(通常来自应用程序外部)和整个应用程序生命周期.

<小时/>

关于ios - UIScene概念不清楚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61649700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com