哪些文件类型可以UIDocumentInteractionController预览?

时间:2014-01-06 10:37:15

标签: ios objective-c uikit uidocumentinteraction

我正在将UIDocumentInteractionController放入我的应用程序,该应用程序可以从服务器下载任意文件类型。

它有两个目的:

  1. 允许用户在另一个可能能够查看该文件的应用中“打开”该文件。
  2. 预览内置UIDocumentInteractionController能够预览的文件。
  3. 我想要的是仅尝试显示系统能够预览的文件类型的预览。例如,如果它是一个zip文件,系统无法预览,所以我想直接进入'Open In'。

    我无法在任何地方找到支持预览的类型列表。

    这是我的代码:

    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;
         }
    }
    

1 个答案:

答案 0 :(得分:5)

方法presentPreviewAnimated:返回BOOL值(如果设法预览则为YES,不管理则为NO),因此您可以:

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