关于Quicklook 以及 QLPreviewController

来源:互联网 发布:华晨中华v5配置数据图 编辑:程序博客网 时间:2024/06/15 07:48

http://blog.csdn.net/reylen/article/details/8534951

Quicklook 支持的文件:
  1. iWork文档
  2. 微软Office97以上版本的文档
  3. RTF文档
  4. PDF文件
  5. 图片文件
  6. 文本文件和CSV文件

首先需要加入framework:


然后加入头文件:

[cpp] view plaincopyprint?
  1. #import <QuickLook/QuickLook.h>  

在需要进入快速查看的地方初始化(这里只显示一个文件):

 

[cpp] view plaincopyprint?
  1. local_file_URL = [NSURL fileURLWithPath:path];   

[cpp] view plaincopyprint?
  1. QLPreviewController *ql = [[[QLPreviewController alloc]initWithNibName:nil bundle:nil] autorelease];  
  2.     ql.navigationController.navigationBarHidden = YES;  
  3.     // Set data source  
  4.     ql.dataSource = self;  
  5.       
  6.     // Which item to preview  
  7.     [ql setCurrentPreviewItemIndex:0];  
  8.       
  9.     navigationController = [[[UINavigationController alloc]initWithRootViewController:ql] autorelease];  
  10.     UIBarButtonItem *backButton = [[UIBarButtonItem alloc]initWithTitle:@"back" style:UIBarButtonItemStylePlain target:self action:@selector(closeQuickLookAction:)];  
  11.     ql.navigationItem.leftBarButtonItem = backButton;  
  12.       
  13.     // Push new viewcontroller, previewing the document  
  14.     [self presentModalViewController:navigationController animated:YES];  


backButton的响应事件:

[cpp] view plaincopyprint?
  1. - (IBAction)closeQuickLookAction:(id)sender {  
  2.     [navigationController dismissModalViewControllerAnimated:YES];  
  3. }  


数据源
[cpp] view plaincopyprint?
  1. #pragma mark - quicklook  
  2. - (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller  
  3. {  
  4.     return 1;  
  5. }  
  6. - (id <QLPreviewItem>)previewController: (QLPreviewController *)controller previewItemAtIndex:(NSInteger)index  
  7. {  
  8.     return local_file_URL;  
  9. }  


0 0