QLPreviewController 是iOS中用于预览文件,分享文件等操作的一个类
支持文件有:
- iWork文档
- 微软Office97以上版本的文档
- RTF文档
- PDF文件
- 图片文件
- 文本文件和CSV文件
具体使用
1、首先要引用 #import <QuickLook/QuickLook.h>
2、QLPreviewController类似于UITableView的使用方法,也是首先遵循代理和数据源代理
<QLPreviewControllerDataSource,QLPreviewControllerDelegate>
3、实现代理方法
// self.pdfArray 是数组,存取所有查看文件的路径
//返回的当前预览的文件QLPreviewItem, controller:当前预览控制器,index:当前预览的第几个文件。
-(id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index {
NSURL * url = self.pdfArray[index];
LHLog(@"%@",url);
return url;
}
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)previewController{
return self.pdfArray.count;
}
- (void)previewControllerWillDismiss:(QLPreviewController *)controller {
[self dismissViewControllerAnimated:YES completion:nil];
}
-(NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller{
return 1;
}
- (id)previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)idx{
ContractDetailModel *modelNew = _arr[idx];
return [NSURL fileURLWithPath:[self getApplicationDocumentsDirectory:modelNew]];
}
4、初始化QLPreviewController
QLPreviewController *previewController = [[QLPreviewController alloc] init];
previewController.dataSource = self;
previewController.delegate = self;
//调用系统自带的分享功能,把选中的图片们分享出去
[self presentViewController:previewController animated:NO completion:nil];
这样就实现了查看 文件或分享文件