Quicklook 以及 QLPreviewController

公司产品现在在做和文件打交道的东西,所以有时候就需要一些查看文档之类的,刚开始使用webview,是的,他很强大,支持很多格式,但是还是有很多局限性,如pdf,跳到指定页之类的,没办法 很好的支持,所以对于这样的需求,我就想法了原生的Quicklook框架。

从iOS4.0后,apple推出新的文件预览控件:QLPreveiewController,已经支持pdf文件阅读。

Quicklook 支持的文件:
  1. iWork文档
  2. 微软Office97以上版本的文档
  3. RTF文档
  4. PDF文件
  5. 图片文件
  6. 文本文件和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,QuickLook)