您的位置:首页 > 产品设计 > UI/UE

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];

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;
}


用起来还是很方便的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: