前一陣項目需要添加一個文檔文件的查看功能,於是就各種找資料,一開始想實用webView,然而webView有的格式不支持,而且占內存太大了。找着找着就找到QLPreViewController。用了一下,天了嚕,真好用!網上資料很多,我就寫點我自己的使用,權當做筆記了。(不知道為啥,寫博客之前總愛廢話一番。。。)
1、首先,想使用QLPreViewController,你要先導入QuickLook類庫。
#import <QuickLook/QuickLook.h>
2、服從QLPreviewController的兩個協議。(貌似這貨跟跟UITableView是親戚,協議名都差不多)
<QLPreviewControllerDelegate,QLPreviewControllerDataSource>
3、實現QLPreviewController的代理方法。
#pragma mark - QLPreviewControllerDataSource - (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller { return 1; } - (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index { NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; NSString *fileName = @"保存時候的文件名,一般是url地址的最后面的文件名"; NSString *filePath = [documentPath stringByAppendingPathComponent:fileName]; return [NSURL fileURLWithPath:filePath]; } - (void)previewControllerWillDismiss:(QLPreviewController *)controller { NSLog(@"視圖即將dismiss"); }
4、創建QLPreviewController,並設置代理。
QLPreviewController *previewController = [[QLPreviewController alloc] init]; previewController.dataSource = self; previewController.delegate = self; [self presentViewController:previewController animated:YES completion:nil];
5、完事!簡單?對,就是這么簡單!
注意事項:QLPreviewController這貨貌似不支持網絡地址,我是先用AFNetworking下載后再打開的。
Demo鏈接:https://github.com/CoderKb/QLPreviewControllerDemo
