我试图使用QuickLookController子类作为子控制器,将其视图设置为父视图中的子视图。但是,它总是在打开的窗口中显示“没有要预览的文件”消息。数据源中的URL是有效的,但控制器从未试图获取它!从未调用funcpreviewItemAt索引!
func "numberOfPreviewItems"总是调用。
求求你,救命!

最佳答案

我明白了。在文章https://williamboles.me/hosting-viewcontrollers-in-cells/中的示例驱动下,我从bundle加载了控制器:

static func createFromStoryBoard() -> PreviewControler {
    let storyboard = UIStoryboard(name: "PreviewControler", bundle: Bundle(for: PreviewControler.self))
    guard let viewController = storyboard.instantiateViewController(withIdentifier: "PreviewControler") as? PreviewControler else {
        fatalError("PreviewControler should be present in storyboard")
    }
    return viewController
}

但是QuickLook控制器必须用它的构造函数创建,所以更改为
let viewController = PreviewController()

解决了这个问题。现在一切都好了。

07-26 02:58