QLPreviewController 在其上显示模态视图控制器后失去联系
Posted
技术标签:
【中文标题】QLPreviewController 在其上显示模态视图控制器后失去联系【英文标题】:QLPreviewController loses touch after presenting a modal view controller over it 【发布时间】:2015-03-04 01:48:41 【问题描述】:在 iPad 主从应用程序中(主是 UITableViewController
,细节是 QLPreviewController
),每当我以模态方式然后将其关闭时,QLPreviewController
就会停止接收触摸事件或至少对它们做出反应。因此,即使在选择并显示了另一个图像/文档之后,也无法放大或缩小或“弹跳”当前显示的图像/文档。
请记住,在模态显示视图控制器之前,一切都会按预期工作,并且可以放大/缩小。
有人知道这个奇怪问题的可能解决方案吗?
编辑:补充说这发生在关闭模态显示的视图控制器之后。
编辑2:如果演示风格是UIModalPresentationFormSheet
,则不会出现问题。它似乎只发生在UIModalPresentationFullScreen
。
【问题讨论】:
【参考方案1】:虽然不是解决此问题的方法,但一种解决方法是将视图控制器呈现为 UIModalPresentationFormSheet 而不是全屏。
【讨论】:
【参考方案2】:是的,这是预期的行为。
当 ViewController 以模态方式呈现时(我假设您正在表单中呈现某些内容?),它会阻止其他视图控制器接收触摸事件。
另一种选择是查看child view controllers 作为替代;但同样,他们的触摸事件将优先于下面的任何内容。
【讨论】:
您是否有预期的特定行为? 我忘了补充一点,这是在视图控制器被关闭后发生的。 (我正在全屏展示它,但我会尝试将它展示为工作表,看看是否有什么不同。) 如果我以 UIModalPresentationFormSheet 样式呈现视图控制器,则问题不再发生。以上是关于QLPreviewController 在其上显示模态视图控制器后失去联系的主要内容,如果未能解决你的问题,请参考以下文章
BackBarButtonItem 在其上显示导航栏标题,并在每次翻页时更新
如何创建空/空白 UIImage 或 CGImage 并在其上操作像素(Xcode)?
如何在子视图中使用 QLPreviewController 显示页面洗涤器