以正确适应大小 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 视图一样展示它。当您在呈现时激活拆分模式时,它会正确适应。
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 视图一样展示它。当您在呈现时激活拆分模式时,它会正确适应。