QLPreviewController 在其上呈现模态视图控制器后失去联系

QLPreviewController loses touch after presenting a modal view controller over it

在一个 iPad 主从应用程序中(主是一个 UITableViewController 而细节是一个 QLPreviewController)每当我模态地呈现一个视图控制器时 然后关闭它QLPreviewController 停止接收触摸事件或至少对它们做出反应。因此,即使在选择并显示另一个 image/document 之后,也无法再放大或缩小,或者 "bouncing" 当前正在显示的 image/document。

请记住,在以模态方式呈现视图控制器之前,一切都按预期工作,并且可以缩放 in/out。

有人知道这个奇怪问题的可能解决方案吗?

编辑:补充说,这发生在关闭模态呈现的视图控制器之后。

编辑 2:如果呈现样式为 UIModalPresentationFormSheet,则不会出现该问题。它似乎只发生在 UIModalPresentationFullScreen.

是的,这是预期的行为。

当模态呈现 ViewController 时(我假设您是以 sheet 的形式呈现某些内容?),它会阻止其他视图控制器接收触摸事件。

另一种选择是查看 child view controllers 作为替代方案;但同样,它们的触摸事件将优先于下面的任何事件。

虽然不是解决此问题的方法,但解决方法是将视图控制器显示为 UIModalPresentationFormSheet 而不是全屏。