UIDocumentInteractionController与iOS 7中的状态栏重叠

时间:2013-10-18 09:32:58

标签: ios7 statusbar

我有一个iPad应用程序,我正在迁移到iOS 7.状态栏的大多数“问题”已经解决,但遗憾的是还有一个问题。 当我使用UIDocumentInteractionController打开PDF文档时,我得到了很好的文档预览。但是当我点击pdf获取“打开方式...”对话框和关闭按钮的状态栏时。它与状态栏重叠。

UIDocumentInteractionController statusbar overlap

我尝试使用edgesForExtendedLayout方法。但是UIDocumentInteractionController不接受它。 如何防止状态栏与UIDocumentInteractionController视图重叠?

3 个答案:

答案 0 :(得分:2)

找到新的解决方案。

在info.plist文件中为iOS 7添加: UIViewControllerBasedStatusBarAppearance(查看基于控制器的状态栏外观)= NO

答案 1 :(得分:1)

对于像iOS这样对iOS8磕磕绊绊的其他人:看来这个问题在iOS8中被翻转了。您需要从info.plist 删除 UIViewControllerBasedStatusBarAppearance 键,状态栏才能在UIDocumentInteractionController中正确显示。

根据需要在每个UIViewController上实现 prefersStatusBarHidden

这次至少这对我有用。

答案 2 :(得分:0)

我猜您的视图控制器是以模态方式呈现的吗?

如果是这种情况,我发现的唯一解决方案是:

  • 将视图控制器嵌入导航控制器

  • 以模态方式显示导航控制器

  • documentInteractionControllerViewControllerForPreview中的
  • 返回导航控制器而不是视图控制器

这将推送UIDocumentInteractionController而不是将其作为全屏模式VC呈现,并且不会搞砸你的视图控制器。