2011-06-08 72 views
0

在我的應用程序中,我需要打開文件,如.doc或.txt。 我已經實現了UIDocumentInteractionController來查看文件,當我打電話presentPreviewAnimated新控制器時,目前的控制器內的文件。我有一些相關的查詢。使用UIDocumentInteractionController進行文件預覽

  1. 我們可以使用UIDocumentInteractionController中唯一的文檔視圖來控制我們的控制器,而使用UIDocumentInteractionController控制器嗎?
  2. 我們可以自定義UIDocumentInteractionController的導航欄嗎?我需要預覽中的更多附加按鈕。

QLPreviewController無法使用,因爲它僅支持4.0以上,我需要從3.2

謝謝支持。

+0

否1,但是如果從documentInteractionControllerViewControllerForPreview返回UINavigationController,則爲2:它將模仿導航欄的外觀。儘管你不能添加額外的按鈕。 – 2012-07-10 19:15:03

回答

0

簡答題 - 不,看起來還不錯。

蘋果公司還沒有製作公共API,允許你修改這些視圖。儘管可能潛入View樹結構並修改底層元素(或從底層元素中拉取視圖並將它們放入您自己的視圖中),但這可能是一種醜陋的醜陋攻擊,因爲Apple可能會改變其在任何時候打破你的應用程序的更高版本。

0

您可以使用navigationItem屬性將其他按鈕添加到導航欄。調用presentPreviewAnimated後,您可以在navigationItem從navigationController得到:

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

你可以使用的東西設置leftBarButtonItem或leftBarButtonItems,如:

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

可以以類似的方式影響右欄按鈕,但是您需要等到內容加載完成之後。

通過使用類別來替換QLPreviewController的navigationItem實現,您可以獲得更多的控制權。

相關問題