好久沒寫技術(shù)博客箭窜,今天重溫下吧饶氏,工作中會遇到一些需求需要在app上查看各種類型文檔的文件前弯,看了下資料,蘋果在iOS4.0系統(tǒng)中修肠,官方SDK提供了一個QLPreviewController贺辰,使用它就可以讓我們的App在iPhone/iPad中直接預(yù)覽各個文件了。官方的開發(fā)文檔中說明其支持的文件類型有:iWork文檔嵌施、微軟Office97以上版本的文檔饲化、RTF文檔、PDF文件吗伤、圖片文件吃靠、文本文件和CSV文件!非常的簡單實用足淆,廢話不多話巢块,很少代碼量礁阁,注釋也滿滿的,直接上代碼
使用之前QLPreviewController需要導(dǎo)入系統(tǒng)庫
代碼如下
////? 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.
//本文使用的是本地路徑族奢,網(wǎng)絡(luò)路徑可以使用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];
}
/**
文檔數(shù)量
*/
- (NSInteger)numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller{
return 1;
}
/**
//打開文件的地址
*/
- (id)previewController: (QLPreviewController *)controller previewItemAtIndex:(NSInteger)index {
//打開文件的地址,包括網(wǎng)絡(luò)或者本地的地址
return [NSURL fileURLWithPath:self.path];
}
/**
點擊Done方法(閱讀器已經(jīng)消失的時候調(diào)用)
*/
- (void)previewControllerDidDismiss:(QLPreviewController *)controller {
//消失后做你想做的
}
@end