我有时会遇到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 第二次:保持灰色。
其他文件效果很好。
答案 0 :(得分:0)
给你QLPreviewController子类,看看......
import QuickLook
class MyPreviewController: QLPreviewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
// Set navigation item nil
navigationItem.leftBarButtonItems = nil
}
}