iphone - iOS - QuickLook - 如何在没有 UIScrollView 的情况下在 QuickLook 中打开对象

标签 iphone objective-c ios ios4 quicklook

谁能指出我使用 QuickLook 在不使用 UITableView 的情况下打开(最好但不一定是 pdf)文件的资源?

我确实有这个使用 QuickLook 的示例,但它使用了我需要远离的 ListView 。

http://robsprogramknowledge.blogspot.com/2011/02/quick-look-for-ios_21.html

最佳答案

我不确定您打算如何设计 UI 来打开文件。我使用了几种不同的方法,所以我会抛出一些想法。 UITableView 是处理大量文件的理想选择。通用 ScrollView 也可用于大量文件。我为只生成一个或两个文件的应用程序使用了警报 View 。您还可以使用带有文档图标的 View ,例如 iPad 邮件应用程序。要获取文档图标,请使用 UIDocumentInteractionController。 WWDC 2010 DocInteraction 示例代码深入介绍了如何使用 UIDocumentInteractionController

至于打开文件,Quick Look 框架使之变得简单。一个简单、独立的解决方案是子类化 QLPreviewController。然后,您的子类需要遵守 QLPreviewControllerDataSource 协议(protocol)和可选的 QLPreviewControllerDelegate 协议(protocol)。接下来,将一组指向您的文件的 NSURL 传递给它。您可以通过像 -initWithFiles:(NSArray *)files 这样的初始化器或通过 setter 来完成此操作。从这里开始,-previewController:previewItemAtIndex: 只需要对数组进行索引以获取要显示的适当文件。 -numberOfPreviewItemsInPreviewController: 只需要返回数组的大小。一旦你完成了这个类(class),你就可以使用你喜欢的任何 UI 设计来推送这个 View 或以模态方式呈现它。

希望这比您一直在阅读的我的教程更清楚。

编辑:

我已将一些代码发布到 Github,可能会对您有所帮助。我创建了一个 file previewer class如上所述。我还发布了一个 demo app直接使用 QLPreviewController

关于iphone - iOS - QuickLook - 如何在没有 UIScrollView 的情况下在 QuickLook 中打开对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5795519/

相关文章:

iphone - Facebook Connect 登录问题

ios - Objective-C 变量被设置为 null

iphone - 如何识别 PDF 文档中的封面

iphone - 关于 iPhone 和 iPad 的编程差异

ios - iOS点击UITextField时如何显示弹出菜单列表? (Kx菜单)

objective-c - iOS 5 中的单例?

ios - UITextView文本量大时被截断

ios - 线程 5 : EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) - 从 'Result<AnyObject>' 转换为无关类型 'NSDictionary' 总是失败

计算 CFStringRef/CFMutableArrayRef 使用的字节数

iphone - 在启动/引导时自动启动应用程序的首选方法?