公司产品现在在做和文件打交道的东西,所以有时候就需要一些查看文档之类的,刚开始使用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;
}
用起来还是很方便的。