【发布时间】:2019-09-05 12:24:24
【问题描述】:
我正在尝试将QuickLookController 子类用作子控制器,将其视图设置为父视图中的子视图。但是,它总是在打开的窗口中显示“没有要预览的文件”消息。数据源中的 URL 有效,但控制器从未尝试获取它! func previewItemAt 永远不会调用索引!func "numberOfPreviewItems" 总是调用。
请帮忙!
【问题讨论】:
我正在尝试将QuickLookController 子类用作子控制器,将其视图设置为父视图中的子视图。但是,它总是在打开的窗口中显示“没有要预览的文件”消息。数据源中的 URL 有效,但控制器从未尝试获取它! func previewItemAt 永远不会调用索引!func "numberOfPreviewItems" 总是调用。
请帮忙!
【问题讨论】:
我明白了。由文章https://williamboles.me/hosting-viewcontrollers-in-cells/ 中的示例驱动,我从包中加载了我的控制器:
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()
解决了这个问题。现在一切都很好。
【讨论】: