UIDocumentPickerViewController 滚动视图与顶部导航栏重叠

Posted

技术标签:

【中文标题】UIDocumentPickerViewController 滚动视图与顶部导航栏重叠【英文标题】:UIDocumentPickerViewController scrollview overlapping with top navigation bar 【发布时间】:2018-05-11 10:54:48 【问题描述】:

我正在尝试以模态方式显示 UIDocumentPickerViewController。它显示,但 UIDocumentPickerViewController 内的滚动视图没有从顶部显示某些部分,我必须向下滚动才能看到内容,一旦发布,再次回到顶部。 (见图)。

这就是我正在尝试的方式!

let documentPicker: UIDocumentPickerViewController = UIDocumentPickerViewController(documentTypes: ["public.image", "public.audio", "public.movie", "public.text", "public.item", "public.content", "public.source-code"],
                                                                                          in: .import)

        if #available(ios 11.0, *) 
            documentPicker.allowsMultipleSelection = true
         else 
            // Fallback on earlier versions
        

        self.present(documentPicker, animated: true,
                     completion: nil)

【问题讨论】:

你能在 bugreport.apple.com 上提交一个错误吗?看起来这是安全区域插图没有正确传播的问题? 这里的self是什么?它是***视图控制器吗? (这应该无关紧要,但试图了解错误在哪里) 是的@ThomasDeniau,它是呈现文档选择器的uiviewcontroller 在 apple bugreport @ThomasDeniau 报告了这个问题。 【参考方案1】:

将 uinavigation bar 外观全局设置为 false 解决了这个问题:

UINavigationBar.appearance().isTranslucent = false

但这似乎仍然是 hack,因为它会影响应用程序的其他区域,其中 isTranslucent 需要为“真”。

如果有人找到更好的解决方案,请更新。 :)

【讨论】:

另一个观察结果,当我添加此修复程序时,现在它从顶部工作正常,但在底部,滚动视图的某些部分仍然隐藏。

以上是关于UIDocumentPickerViewController 滚动视图与顶部导航栏重叠的主要内容,如果未能解决你的问题,请参考以下文章