首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"didBecomeActive“和"willResignActive”方法对UISceneDelegate和UIApplicationDelegate的区别?

"didBecomeActive“和"willResignActive”方法对UISceneDelegate和UIApplicationDelegate的区别?
EN

Stack Overflow用户
提问于 2019-11-11 14:48:15
回答 1查看 521关注 0票数 1

我的主要任务是将屏幕与非透明视图重叠起来,以便在应用程序进入后台时隐藏信息。官方解决方案被描述为这里

问题是它有时在iOS 13上不起作用。

我找到了这个文章

它解释了sceneDidBecomeActive(_:)sceneWillResignActive(_:)是如何工作的。但是新的项目有AppDelegate+SceneDelegate,旧的只有AppDelegate。我能用一下applicationDidBecomeActive(_:)applicationWillResignActive(_:)吗?或者,我是否应该以某种方式将项目迁移到使用UISceneDelegate ( iOS 12和更早版本中不支持)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-11 16:18:35

如果你有一个在Xcode 11之前创建的应用程序,那么它不支持场景。只要你不添加任何与场景相关的内容(未来苹果可能会不允许),你的应用程序的生命周期就会继续在iOS 13下工作,就像在iOS 12和更早版本下一样。只需继续使用UIApplicationDelegate方法即可。

如果您有一个支持iOS 12和iOS 13的应用程序,并且正在使用iOS 13中的场景,那么您必须同时实现applicationWillResignActive (支持iOS 12及更早版本)和sceneWillResignActive (支持iOS 13及更高版本)。

实际上,在支持iOS 12和13的应用程序中,基本上需要实现UIApplicationDelegateUISceneDelegate/UIWindowSceneDelegate两组方法。当应用程序运行在具有UIApplicationDelegate 12或更高版本的设备上时,将调用iOS方法,而当应用程序运行在具有iOS 13或更高版本的设备上时,将调用UISceneDelegate/UIWindowSceneDelegate方法。

请记住,在iOS 13下,如果您支持多个窗口/场景,则场景委托方法与特定场景相关联。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58803630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档