UIScene的概念尚不清楚

保罗·T:

以前大家都习惯的做法,当AppDelegate我们创建UIWindow,然后设置rootViewController为这个Window有时,当我们需要自定义警报时,我们可以UIWindow在上方创建一个新警报

现在,Xcode会自动在此场景上创建UIScene和创建UIWindow我将不胜感激,如果有人能详细解释如何在现实生活中使用这个场景,什么是他们的主要受益于仅使用UIWindowAppDelegate

因为这篇文章解释不多

Mojtaba Hosseini:

该文件

您应该阅读AppleApp and Environment文章而不是文档。UIScene


讲解

正如关于场景的说法

场景,同时管理应用程序UI的多个实例,并将资源定向到适当的UI实例。

在iOS 13之前,我们只有一个场景,所以我们需要ViewController同时运行s 的唯一一件事就是多个Windows相互叠加。但是现在,每个应用程序可以同时运行多个实例!每个场景都有其自己的状态,它可能在前台,而其他场景在后台或被挂起,而Window这完全取决于应用程序本身。

假设我们在设备的左侧和右侧运行了2个视图控制器(考虑到没有场景),然后我们需要显示横幅。使用旧的window方法将在它们两个上都显示横幅!而且,如果您需要选择一个,您可能最终会找到正确的控制器并在其上展示横幅,(我想我们所有人在熟悉此方法之前都已经采用了这种方法UIWindow

因此,Apple引入了Scene,为应用程序的每个单独实例提供了一个容器。因此,您可以分别管理每个应用程序,每个应用程序都像一个单独的应用程序。它有自己的windows和controllers。但是所有这些都由单个对象管理,UIApplication.shared并且具有delegate处理一般事件(通常从应用程序外部)和整个应用程序生命周期的功能。


本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章