以正确适应大小 Class 变化的方式呈现 UIActivityViewController

Present UIActivityViewController in a way that Adapts Correctly to Size Class Changes

documentation of UIActivityViewController 表示如下:

On iPad, you must present the view controller in a popover. On iPhone and iPod touch, you must present it modally.

这没有太大意义,因为我们有大小 Classes,并且模态呈现的 viewcontrollers 会自动适应它们的外观(例如,当我们将某些东西呈现为弹出窗口时,它会默认情况下显示为尺寸 Class Regular 的弹出窗口,尺寸 Class Compact).

的全屏显示

在当前大小 Class Compact 的弹出窗口中显示 UIActivityViewController(应该自动显示全屏)不起作用,系统抱怨。将其显示为当前大小 Class Regular 的弹出窗口,然后通过拆分模式/多任务处理更改大小 Class 会导致导航栏为空,我无法关闭 viewcontroller .我应该注意到我在导航控制器中嵌入了 UIActivityViewController

有什么关于如何使其响应的建议吗?

不得UIActivityViewController嵌入UINavigationController。我知道它在文档中没有这么说,但这是我让它工作的唯一方法。然后您实际上可以像对待任何其他 popover/modal 视图一样展示它。当您在呈现时激活拆分模式时,它会正确适应。