iOS 10 - QLPreviewController显示灰屏?

时间:2017-02-25 00:52:29

标签: ios swift3

我有时会遇到QLPreviewController显示空白灰色屏幕的问题。

enter image description here

该文件存在于文件系统(模拟器)中(我通常可以从文件系统使用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 第二次:保持灰色。

其他文件效果很好。

1 个答案:

答案 0 :(得分:0)

给你QLPreviewController子类,看看......

import QuickLook

class MyPreviewController: QLPreviewController {

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)

    // Set navigation item nil
        navigationItem.leftBarButtonItems = nil
    }

}