我试图使用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()
解决了这个问题。现在一切都好了。