QLPreviewController 预览文件

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

这样就实现了查看 文件或分享文件

猜你喜欢

转载自blog.csdn.net/u013983033/article/details/85988182
今日推荐