Iphone 使用UIDocumentInteractionController进行文件预览

Iphone 使用UIDocumentInteractionController进行文件预览,iphone,Iphone,在我的应用程序中,我需要打开类似.doc或.txt的文件。 我已经实现了UIDocumentInteractionController来查看文件,当我调用PresentPreviewInimated时,当前控制器上显示的新控制器中包含文档。我有一些与此相关的问题 我们是否可以在控制器中使用UIDocumentInteractionController中的唯一文档视图,而不是使用UIDocumentInteractionController中的控制器 我们可以自定义UIDocumentIntera

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

  • 我们是否可以在控制器中使用UIDocumentInteractionController中的唯一文档视图,而不是使用UIDocumentInteractionController中的控制器
  • 我们可以自定义UIDocumentInteractionController的导航栏吗。我需要更多的预览按钮
  • QLEVIEWCONTROLLER无法使用,因为它只支持4.0以上版本,我需要3.2版本的支持


    谢谢。

    简短回答-不,似乎还没有


    苹果还没有公开允许你修改这些视图的API。虽然可以深入视图树结构并修改底层元素(或从底层元素中提取视图并将其放入自己的视图中),但这将是一个丑陋的黑客行为,因为苹果可以随时更改其私有实现,从而使您的应用程序升级。

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

    UINavigationItem *ni = [[navigationController.viewControllers lastObject] navigationItem] ; 
    
    您可以使用以下方法设置LeftBarButtonims或LeftBarButtonims:

    ni.leftBarButtonItem = [[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:controller action:@selector(someSelector:)] ;
    
    您可以以类似的方式影响右栏按钮,但需要等到内容加载完全完成之后


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

    否为1,但如果从DocumentInteractionControllerServiceControllerForpReview返回UINavigationController,则为2:它将模拟导航栏的外观。尽管您不能添加额外的按钮。