swift - quicklook总是显示 "no file to preview"错误(url有效)

标签 swift quicklook

我正在尝试使用 QuickLookController 子类作为子 Controller ,将其 View 设置为父 View 中的 subview 。但是,它总是在打开的窗口中显示“没有要预览的文件”消息。数据源中的 URL 有效,但 Controller 从未尝试获取它! func previewItemAt 索引永远不会被调用!
func "numberOfPreviewItems" 始终调用。
请帮忙!

最佳答案

我明白了。由文章中的示例驱动 https://williamboles.me/hosting-viewcontrollers-in-cells/我从包中加载了我的 Controller :

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 Controller 必须用它的构造函数来创建,所以改为

let viewController = PreviewController()

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

关于swift - quicklook总是显示 "no file to preview"错误(url有效),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57805426/

相关文章:

swift - 使用 swift 在 OSx 中绘制铅笔条纹

swift - 暂停和重新启动动画

xcode - 使用 Swift 快速查看调试中的 UIImage

swift - 带有文件 URL 的 NSURL 子类在 QuickLook 中对于非 ASCII 文件名不起作用?

xcode - QuickLook 插件是 "damaged/missing resources"。为什么?

ios - 在静态表格 View 中更改单元格的选择颜色

ios - 如何在拖动 MKMapView 的情况下拖动注释? (iOS)

swift - 如何使用 AVPlayer 进行基本身份验证来播放服务器上的视频文件?

ios - 如何在 Interface Builder 中使用 QLPreviewController?