zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    用curl发起https请求
    curl: (60) SSL certificate problem: unable to get local issuer certificate 错误
    单例模式
    黑窗口命令
    推荐的php安全配置选项
    sublime配置大全
    数据库三范式最简单最易记的解释
    linux 下安装python3
    restframwork 接口及优化
    Django的orm练习---多表查询
  • 原文地址:https://www.cnblogs.com/coderkongbin/p/5799787.html
Copyright © 2011-2022 走看看