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

  • 相关阅读:
    Linux:DHCP服务配置
    调整 全局jvm 大小 tomcat 调整jvm大小
    Arts打卡第8周
    mysql 对返回的值是null进行判断和重新赋值
    从xml中返回的对象,和new 返回的对象时不同的。
    检查时异常和运行是异常 + 事务回滚 +隔离级别
    怎么在for循环中新建出不同的list
    mysql中查询某个字段重复的数据
    Arts打卡第7周
    将Excel文件导入到Navicat Premium中日期变为0000-00-00
  • 原文地址:https://www.cnblogs.com/coderkongbin/p/5799787.html
Copyright © 2011-2022 走看看