iOS 10 - QLPreviewController显示灰色屏幕?
问题描述:
我有时会遇到QLPreviewController显示空白灰色屏幕的问题。iOS 10 - QLPreviewController显示灰色屏幕?
该文件中的文件系统(模拟器)存在(我可以正常使用Acrobat Reader软件从文件系统中打开)
生病只能使用:
func numberOfPreviewItems(in controller: QLPreviewController) -> Int {
return 1
}
func documentsDirectoryURL() -> URL {
let manager = FileManager.default
let URLs = manager.urls(for: .documentDirectory, in: .userDomainMask)
return URLs[0]
}
func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
let filepath = "bericht_\(self.task.remoteID!).pdf"
print(filepath)
print(documentsDirectoryURL().appendingPathComponent(filepath)) // FILEPATH CORRECT, file is there
return documentsDirectoryURL().appendingPathComponent(filepath) as QLPreviewItem
}
相同的代码工作与其他文件没有任何问题。有任何想法吗?
编辑:我现在手动删除文件,并让iOS再次创建它。
第一次:QLPreviewController显示PDF 第二次:保持灰色。
其他文件很好。
答
子类时QLPreviewController,看看...
import QuickLook
class MyPreviewController: QLPreviewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
// Set navigation item nil
navigationItem.leftBarButtonItems = nil
}
}
+0
然后看看是什么?控制器在这里,文件在这里,委托方法被调用。那么为什么要继承? – derdida
+0
由于某些属性不允许使用实例对象进行设置。它们是在编译时设置的(当你的类被加载时)。试试这个,看看你是否得到解决方案。 – 2017-02-26 01:44:28
你有没有发现这方面的任何解决方案? –