使用UIDocumentInteractionController进行文件预览

时间:2011-06-08 10:51:39

标签: iphone

在我的应用程序中,我需要打开像.doc或.txt这样的文件。 我已经实现了UIDocumentInteractionController来查看文件,当我调用presentPreviewAnimated时,新控制器在当前控制器上显示文档。我有一些相关的问题。

  1. 我们可以在控制器侧使用UIDocumentInteractionController中唯一的文档视图,而不是使用UIDocumentInteractionController中的控制器吗?
  2. 我们可以自定义UIDocumentInteractionController的导航栏。我需要在预览上添加一些额外的按钮。
  3. QLPreviewController无法使用,因为它仅支持4.0以上,我需要3.2的支持

    感谢。

2 个答案:

答案 0 :(得分:0)

简短回答 - 否。似乎还没有。

Apple尚未制作允许您修改这些视图的公共API。虽然可以深入查看View树结构并修改底层元素(或从底层元素中拉出视图并将它们放入自己的元素中),但这可能是一个丑陋丑陋的黑客攻击,因为Apple可以改变它们的私有实现任何时候打破你的应用程序以用于更高版本。

答案 1 :(得分:0)

您可以使用navigationItem属性向导航栏添加其他按钮。在调用presentPreviewAnimated之后,您可以从navigationController获取navigationItem:

UINavigationItem *ni = [[navigationController.viewControllers lastObject] navigationItem] ; 

您可以使用以下内容设置leftBarButtonItem或leftBarButtonItems:

ni.leftBarButtonItem = [[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:controller action:@selector(someSelector:)] ;

您可以以类似的方式影响右侧栏按钮,但您需要等到内容加载完全完成后。

您可以通过使用类别将QLPreviewController的navigationItem实现替换为您自己的一个来获得更多控制。