QLPreViewController的初步實用


前一陣項目需要添加一個文檔文件的查看功能,於是就各種找資料,一開始想實用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM