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 ;
} - (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
QLPreViewController的初步实用的更多相关文章
- ioc初步理解(二) 简单实用autofac搭建mvc三层+automapper=》ioc(codeFirst)
之前在园子闲逛的时候,发现许多关于automapper的文章,以及用aotufac+automapper合在一起用.当然发现大多数文章是将automapper的特点说出或将automapper几处关键 ...
- ioc初步理解(一) 简单实用autofac搭建mvc三层+ioc(codeFirst)
1]首先搭好框架 1.1]搭建ui层 1.2]创建其他内库文件 整个项目基本部分搭建完毕之后如下 2]使用nuget引用文件 先在每一个项目中引入ef 然后再UI层引入以下两个文件autofac和Au ...
- OC基础--常用类的初步介绍与简单实用之集合类
集合类的异同点 一.NSArray\NSMutableArray *有序 *快速创建(只有不可变数组可以):@[obj1, obj2, obj3]; *快速访问元素:数组名[i] *只能存放对象 二. ...
- OC基础--常用类的初步介绍与简单实用之NSString
一.NSString:不可变字符串/NSMutableString:可变字符串 1>字符串的常用创建方式: (1)NSString *s1 = @"Chaos"; (2)NS ...
- 实用的Scala泛函编程
既然谈到实用编程,就应该不单止了解试试一个新的编程语言那么简单了,最好通过实际的开发项目实例来演示如何编程.心目中已经有了一些设想:想用Scala泛函编程搞一个开源的数据平台应用系统,也就是在云平台P ...
- MVVM开源框架Knot.js 教程1 - CBS初步
Knotjs教程系列 1.CBS初步(本文) 2.Knot.js Debugger ....持续增加中 CBS初步 学习Knot.js,实际上就是学习如何使用CBS.CBS使用和CSS类似的原理,将绑 ...
- 我的VSTO之路(五):Outlook初步开发之联系人扩展
原文:我的VSTO之路(五):Outlook初步开发之联系人扩展 上一讲我们完成对Word的介绍,文本开始,我将着重介绍Outlook.Outlook是微软Office中一个非常实用的工具,尤其在一个 ...
- CMake初步(2)
转自:<你所不知的OSG>第一章:CMake初步(2) http://bbs.osgchina.org/forum.php?mod=viewthread&tid=1229& ...
- HTML/CSS初步了解
一.CSS是什么? 它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示 ...
随机推荐
- 【转载】Mysql 查看连接数,状态
转载地址:http://blog.csdn.net/starnight_cbj/article/details/4492555 命令: show processlist; 如果是root帐号,你能看到 ...
- 删除smartygit的配置文件
SmartGit Windows: %APPDATA%\syntevo\SmartGit\OS X: ~/Library/Preferences/SmartGit/Unix/Linux: ~/.sma ...
- ue4 ios
project settings package 可以指定非APK打包,确定资源是否发布 可以指定content下某个目录所有文件(非.uassert)都打包 ios环境下fopen打开文件需要指定路 ...
- Python —条件语句
条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null ...
- iOS - UIButton折行文字显示设置
首先在控制器中创建一个button - (void)viewDidLoad { [super viewDidLoad]; UIButton * button = [[UIButton alloc] i ...
- sdk命令
SDK命令 常用sdk命令 开启adb服务:adb start -server 关闭adb服务:adb kill -server 查看模拟器/真机:adb devices 安装/卸载/运行程序: 安装 ...
- JDBC基础与连接sql2012
JDBC简介 JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成. 组成JDBC的2个包: java.sql javax.sql 以上2个包 ...
- 转Windows Phone8.1 获取手机唯一识别码
转:http://www.dotblogs.com.tw/martinlau17/archive/2014/07/21/146020.aspx 因小弟比較懶,上次不小心 清空了所有文章 現在重寫了XD ...
- 使用Cobbler无人值守安装CentOS6.5(一)
Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行代码),使用简单的命令即可完成PXE网络安装环境的配置 ...
- java布局学习 (三)
前文已经讲了常用的4个布局了,今天再介绍最后的三个布局: 5.CardLayout 6.BoxLayout 7.空白布局null (五)CardLayout 纸牌布局 首先这种布局不是二维布局,而 ...