iOS开发 使用QLPreviewController查看各种类型的文件

好久没写技术博客,今天重温下吧,工作中会遇到一些需求需要在app上查看各种类型文档的文件,看了下资料,苹果在iOS4.0系统中,官方SDK提供了一个QLPreviewController,使用它就可以让我们的App在iPhone/iPad中直接预览各个文件了。官方的开发文档中说明其支持的文件类型有:iWork文档、微软Office97以上版本的文档、RTF文档、PDF文件、图片文件、文本文件和CSV文件!非常的简单实用,废话不多话,很少代码量,注释也满满的,直接上代码

使用之前QLPreviewController需要导入系统库


iOS开发 使用QLPreviewController查看各种类型的文件_第1张图片
添加的库


代码如下

////  ViewController.m//  iOS中查看文档////  Created by CuiJianZhou on 2017/6/2.//  Copyright © 2017年 SuperVr. All rights reserved.

//#import "ViewController.h"

#import @interface ViewController ()

<

QLPreviewControllerDelegate,

QLPreviewControllerDataSource

>

//打开word文档需要引入的视图控制器

@property (nonatomic, strong)QLPreviewController *previewController;

//文件路径

@property (nonatomic, copy)NSString *path;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

//本文使用的是本地路径,网络路径可以使用afn下载文件到本地沙盒,再获取沙盒路径

self.path = [[NSBundle mainBundle]pathForResource:@"xxx文件名" ofType:@"文件格式"];

}

/**

查看文件按钮点击方法

*/

- (IBAction)lockFileButtonClick:(UIButton *)sender {

QLPreviewController *previewController = [[QLPreviewController alloc]init];

previewController.delegate = self;

previewController.dataSource = self;

[self presentViewController:previewController animated:YES completion:nil];

}

/**

文档数量

*/

- (NSInteger)numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller{

return 1;

}

/**

//打开文件的地址

*/

- (id)previewController: (QLPreviewController *)controller previewItemAtIndex:(NSInteger)index {

//打开文件的地址,包括网络或者本地的地址

return [NSURL fileURLWithPath:self.path];

}

/**

点击Done方法(阅读器已经消失的时候调用)

*/

- (void)previewControllerDidDismiss:(QLPreviewController *)controller {

//消失后做你想做的

}

@end


你可能感兴趣的:(iOS开发 使用QLPreviewController查看各种类型的文件)