如何让你的 iPad App 支持多任务和多窗口

多任务是 iPadOS 的众多出色功能之一,它为用户提供了在 iPad 上与 App 交互方式的选择性和灵活性。用户可以全屏浏览你的 App,用“分屏浏览”把它放在另一个 App 旁边,用“侧拉”将它拉出,甚至可以并排查看你的 App 的多个实例。以下几种方法可以改善你的 iPad App 的外观和使用体验,以实现多任务和多窗口。

让你的 App 支持多任务

无论你的 App 单独运行,在“侧拉”中运行,或是在“分屏浏览”中并排运行,它都应该始终支持出色的多任务体验。用户希望在 iPad 屏幕上添加或删除 App 时,App 能够无缝调整大小。当你设计一个自适应 UI 时,你可以确保你的控件和视图保持可见和可用,无论你的 App 是全屏显示还是在紧凑的视图中显示。

为了让你的视图控制器和视图能够响应 iOS 界面环境的变化,请重写 Trait 环境协议中的 traitCollectionDidChange(_:) 方法。为了自定义视图控制器的动画以响应界面环境的变化,可以重写 UIContentContainer 协议中的 willTransition(to:with:) 方法。

[Learn more about UI trait collections] > 你可以通过使用“自动布局”和安全区域插件等工具,进一步保证用户获得灵活、自适应的体验,以确保你的 App 无论如何使用都有出色的外观。

[阅读更多以了解如何让你的 App 在每个屏幕上都有出色的外观] >

增加你的窗口

从 iPadOS 13 开始,你可以添加对创建 App 的多个实例的支持。当你支持多窗口时,你的 App 将解锁更多功能,让用户可以将它与本身或其他多个 App 同时使用。例如,使用待办事项 App 的用户可以在“分屏浏览”中并排查看 App 中的两个列表;还可以创建多个“分屏浏览”实例,将其中一个待办事项列表与《Safari 浏览器》窗口放在一起,将另一个和《邮件》放在一起。

为了在你的 App 中添加多窗口,你可以使用 UIScene 为用户界面的每个实例创建场景。当你添加对 UIScene 的支持时,请考虑同时实现新版状态恢复,这可以让用户直接回到他们在 App 中的工作,而不是重置到主屏幕上。

[Learn more about modern state restoration] > 此外,如果你在 iPad 上添加了多窗口支持,那么当你在构建 Mac App 时,就为 Mac Catalyst 上的多窗口支持打好了基础。


Resources