Quicklook 以及 QLPreviewController
2016-01-29 14:12
585 查看
公司产品现在在做和文件打交道的东西,所以有时候就需要一些查看文档之类的,刚开始使用webview,是的,他很强大,支持很多格式,但是还是有很多局限性,如pdf,跳到指定页之类的,没办法 很好的支持,所以对于这样的需求,我就想法了原生的Quicklook框架。
从iOS4.0后,apple推出新的文件预览控件:QLPreveiewController,已经支持pdf文件阅读。
Quicklook 支持的文件:
iWork文档
微软Office97以上版本的文档
RTF文档
PDF文件
图片文件
文本文件和CSV文件
首先导入头文件
#import <QuickLook/QuickLook.h>
用法:
local_file_URL = [NSURL fileURLWithPath:path];
实现数据源代理方法
用起来还是很方便的。
从iOS4.0后,apple推出新的文件预览控件:QLPreveiewController,已经支持pdf文件阅读。
Quicklook 支持的文件:
iWork文档
微软Office97以上版本的文档
RTF文档
PDF文件
图片文件
文本文件和CSV文件
首先导入头文件
#import <QuickLook/QuickLook.h>
用法:
local_file_URL = [NSURL fileURLWithPath:path];
QLPreviewController *ql = [[[QLPreviewController alloc]initWithNibName:nil bundle:nil] autorelease]; ql.navigationController.navigationBarHidden = YES; // Set data source ql.dataSource = self; // Which item to preview [ql setCurrentPreviewItemIndex:0]; navigationController = [[[UINavigationController alloc]initWithRootViewController:ql] autorelease]; UIBarButtonItem *backButton = [[UIBarButtonItem alloc]initWithTitle:@"back" style:UIBarButtonItemStylePlain target:self action:@selector(closeQuickLookAction:)]; ql.navigationItem.leftBarButtonItem = backButton; // Push new viewcontroller, previewing the document [self presentModalViewController:navigationController animated:YES];
实现数据源代理方法
#pragma mark - quicklook - (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller { return 1; } - (id <QLPreviewItem>)previewController: (QLPreviewController *)controller previewItemAtIndex:(NSInteger)index { return local_file_URL; }
用起来还是很方便的。
相关文章推荐
- iOS:UITextField协议的用法,键盘的隐藏,以及视图随着键盘的出现隐藏而上下调整位置
- 使用bluebird克服回调金字塔
- UIView、table、tabbar、Navigation等小功能集锦
- UITableView头部的图片,下拉缩放
- requirejs(一)
- soapUI 使用Property
- Flink DataSet API Programming Guide
- iOS不断旋转的UIBarButtonItem
- NSString 与 NSData 之间的互转 NSData 与 UIImage 之间互转 NSDate 与 NSString 之间的互转
- UIBezierPath精讲
- QuickIntegrater.jar打开成解压缩状况,读取keystore(.jks)文件
- StringBuilder的实现与技巧(转)
- Easyui tree扩展tree方法获取一级子节点
- JAVA中String、StringBuffer、StringBuilder区别
- iOS学习之UINavigationController详解与使用(三)ToolBar
- iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
- 为什么mvc里面的ModelState.IsValid一只都是true
- UINavigationController
- Dispatch Queue
- UI神器-SOUI