- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 View Controller 中嵌入了一个 QLPreviewController
作为 subview Controller ,并为其设置了委托(delegate)和数据源:
qlPreviewController.delegate = self
qlPreviewController.dataSource = self
在我的 viewDidLoad
中,我正在下载一个远程文档。下载完成后,我重新加载 QLPreviewController
以显示该文档。这很好用。
现在,我想同时显示多个文档。因此,我下载了多个文档,设置了一个数组,然后重新加载 QLPreviewController
。
下面是实现的数据源方法:
func numberOfPreviewItems(in controller: QLPreviewController) -> Int {
print("count:", downloadedDocuments.count)
return downloadedDocuments.count
}
func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
print("\(index+1)/\(downloadedDocuments.count), id:", downloadedDocuments[index].id)
return downloadedDocuments[index].localURL as QLPreviewItem
}
最终发生的是只有一个文档被显示,它是数组中的第一个。我在上面添加了打印语句,以验证 downloadedDocuments
数组中是否有多个文档。它打印:
count: 5
1/5, id: 251
如您所见,它只调用了一次 previewItemAtIndex
,索引保持为 0
。
这是为什么?我还需要设置其他任何东西吗?
最佳答案
关于“加载多个文件”的整个标题暗示了一种误解。我认为您假设 QLPreviewController 是一种同时显示多个对象的 Collection View Controller 。不是。它预览一个文档。如果它有多个预览项目,用户可以横向翻页到另一个文档,或者从 TOC 菜单中选择,但它仍然一次只显示一个文档。
此外,您似乎正在尝试将预览 Controller 用作嵌入式。 subview Controller 。你不能。它可以呈现或推送到导航 Controller 上;就这样。不要试图保留或重复使用它。不要将其 View 用作 subview 。当需要预览时,创建 Controller 并呈现或推送它。当 Controller 被解雇或弹出时,让它死掉。
关于ios - QLPreviewController 不加载多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52801100/
我只是想访问 QLPreviewController.view。事实上,我想捕获其 View 上的点击事件以显示/隐藏工具栏等。我正在尝试: QLPreviewController* qlpc = [
我不知道如何为我的 QLPreviewController 类设置 PreviewItemTitle 属性。这似乎有点奇怪,因为此类的 iPhone 开发人员文档说该属性是 @property (re
我在自定义 QLPreviewController 的外观时遇到问题. 我们可以通过将 QLPreviewController 插入导航 Controller 或将其呈现在 ModalViewCont
我在我的应用程序中使用 QLPreviewController 并想隐藏允许在其数据源项目中移动的底部工具栏。有可能以某种方式做吗? 我试图将其搜索为 QLPreviewController 的 Vi
我有一个主从应用程序,其中主显示文档列表,详细信息显示这些文档的预览。 在 Storyboard 中,我绘制了一个名为 的 UIView vista预览 . 我已经在 .h 中声明了它: @prope
我正在使用 QLPreviewController 来显示 PDF。现在我正在尝试将按钮项目添加到工具栏。当我打印工具栏项目时,我可以看到它们正在添加,但我的工具栏不会出现。为什么没有出现? func
使用 QLPreviewController 预览 pdf 、 doc 、 xlsx 等文档,但不显示文件内容。要显示的文件是从服务器获取的。我只想通过来自服务器的 url 链接(如图像)显示 pdf
您可以使用 QLPreviewController 编辑图像吗? 例如,预览图像并裁剪它?如果不是,QLPreviewController 上的编辑属性是做什么用的?它似乎没有改变任何东西。 (预览文
我正在使用 QLPreviewController 从我的服务器获取和查看远程 PDF。这非常有效,因为 Apple 在下载文件时内置了一个漂亮的“正在加载”图形。现在,我还想使用需要本地文件的 UI
我正在测试 Apple 的 DocInteraction 示例应用程序。在模拟器上它工作正常。但在 iPad 上,图片的图标不会显示。有什么建议可以解决这个问题吗? 最佳答案 将我的设备更新到 iOS
我在我的 View Controller 中嵌入了一个 QLPreviewController 作为 subview Controller ,并为其设置了委托(delegate)和数据源: qlPre
是否可以将新按钮添加到工具栏或 QLpreviewController 右上角的 actionButton 中? 如果是,我该如何编写代码? 最佳答案 尽管 QLPreviewController 是
我如何在 QLPreviewController 中设置半透明属性我已经尝试了下面的代码但它不起作用 QLPreviewController *previewer = [[QLPreviewCon
是否可以更改 QLPreviewController 中项目的标题? 我已经尝试过: 子类化 QLPreviewController 添加 override func viewDidAppear(_
我在我的应用程序中集成了 QLPreviewController 和 UIDocumentInteractionController,它工作正常。 唯一的问题是 - 我想配置底部工具栏,我想删除默认工
我想在 swift 3 中更改 QLPreviewController 的导航栏颜色。我使用下面的代码来更改颜色,但它不起作用 viewQLPreview = QLPreviewController(
我使用 QLPreviewController 向我的用户显示 pdf 文件。一切正常。我只想知道用户何时到达文档末尾。 你知道这是否可能吗? 谢谢。 最佳答案 不幸的是,它不是,主要问题是没有很好/
我正在 iPad 应用程序中使用 nib 生成 PDF。该应用程序使用在应用程序的 Nib 中正确显示的自定义字体。当我在我的 Mac 上查看这个保存的 PDF 时,它也以正确的字体显示。当我使用 Q
我需要从 QLPreviewController 隐藏共享按钮 这是将 PDF(例如)显示到新 View 的原始代码 var previewItem = NSURL() func preview(_c
我正在使用 QLPreviewController 来显示一组文件。但是,它只显示第一个,我似乎无法滑动或执行任何操作来显示第二个。我究竟做错了什么?我必须手动设置吗?如果是这样 - 我将如何去做?
我是一名优秀的程序员,十分优秀!