公司项目里有云盘功能,所以需要做文件展示和下载功能。
快速开发所以使用了系统自带的UIDocumentInteractionController
UIDocumentInteractionController 是系统提供的用来展示文件的,但是展示的文件必须是下载到本地的文件,而不能在线浏览,所以需要将文件存到本地。
NSURL *url = [NSURL fileURLWithPath:filePath];//filePath是文件保存的位置
UIDocumentInteractionController * documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:url];
[documentInteractionController setDelegate:self];
[documentInteractionController presentPreviewAnimated:YES];//展示文件详情
//如果想直接分享到第三方APP中
//[documentInteractionController presentOpenInMenuFromRect:self.view.bounds inView:self.view animated:YES];
实现代理
#pragma mark - UIDocumentInteractionController 代理方法
//从哪个控制器打开
- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller{
return self;
}
- (UIView *)documentInteractionControllerViewForPreview:(UIDocumentInteractionController *)controller{
return self.view;
}
- (CGRect)documentInteractionControllerRectForPreview:(UIDocumentInteractionController *)controller{
return self.view.bounds;
}