2014-01-06 31 views
1

我將一個UIDocumentInteractionController放入我的應用程序,它可以從服務器上下載任意文件類型。哪些文件類型可以UIDocumentInteractionController預覽?

它的存在有兩個目的:

  1. 爲了讓用戶「打開方式」的另一個應用程序,可能能夠查看該文件的文件。
  2. 預覽內置UIDocumentInteractionController能夠預覽的文件。

我想這樣做只是試圖顯示系統能夠預覽的文件類型的預覽。例如,如果它是一個zip文件,系統無法預覽,所以我想直接進入「打開」。

我在任何地方都找不到預覽支持的類型列表。

這裏是我的代碼:

self.docController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:path]]; 
[self.docController setDelegate:self]; 

// I'd like to skip this line if the system can't preview the file.  

BOOL isOpen = [self.docController presentPreviewAnimated:YES]; 
if (!isOpen) { 
    BOOL canOpen = [self.docController presentOpenInMenuFromRect:CGRectMake(300, 300, 100, 100) 
                  inView:self.view 
                 animated:NO]; 
    if (!canOpen) { 
      // tell user to install an app that's able to open this file. 
      return; 
    } 
} 

回答

5

presentPreviewAnimated:返回一個布爾值的方法(如經營YES預覽和NO不管理),所以你可以:

if (![self.docController presentPreviewAnimated:YES]) 
{ 
    //present openIn 
} 
+0

感謝您的回答。不幸的是,該方法返回一個zip文件的「是」。我想系統認爲它可以*預覽ZIP文件,因爲它顯示文件名和文件大小。也許這是不可能的? –

+0

如果只有壓縮文件是你的問題,所以添加一個檢查,如果預覽文件是一個zip文件,然後如果是的話,並且不要預覽 –

+0

感謝您的幫助。這些文件可以是任何類型的,所以我只會與系統一起生活,有時會顯示zip等可能的預覽。 –

相關問題