在iOS上不使用UIWebview打开Word、Excel和PDF文件的方法

8

在iPhone/iPad上,是否可以在不使用UIWebview的情况下打开Word和Excel文件?

1个回答

12

你有两个选项。对于iOS 4.0或更高版本,你可以使用QLPreviewController。你需要实现以下两种方法-

- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller 
{
  return 1; //assuming your code displays a single file
}

- (id <QLPreviewItem>)previewController: (QLPreviewController *)controller previewItemAtIndex:(NSInteger)index 
{
  return [NSURL fileURLWithPath:path]; //path of the file to be displayed
}

然后按以下方式初始化QLPreviewController-

QLPreviewController *ql = [[QLPreviewController alloc] init];
 ql.dataSource = self;
 ql.delegate = self;
 ql.currentPreviewItemIndex = 0; //0 because of the assumption that there is only 1 file  
 [self presentModalViewController:ql animated:YES];
 [ql release];

对于旧版iOS,您可以按照以下方式使用UIDocumentInteractionController。实现委托方法-

- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller {
 return self;
}

初始化并显示 -

    UIDocumentInteractionController* docController = [UIDocumentInteractionController interactionControllerWithURL:fileURL];
docController.delegate = self;
[docController presentPreviewAnimated:YES];

谢谢,

Akshay


Akshay,非常感谢。您能再告诉我一件事吗?是否有可能自定义控制器视图的格式? - sandy
不,这两个选项都不允许定制。如果您喜欢,请将其标记为答案。 - Akshay
很有帮助,谢谢Akshay。 - rohan-patel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接