美文网首页iOS开发iOS学习iOS Developer
iOS开发 使用QLPreviewController查看各种类

iOS开发 使用QLPreviewController查看各种类

作者: 游子_IT | 来源:发表于2017-06-02 12:27 被阅读468次

    好久没写技术博客,今天重温下吧,工作中会遇到一些需求需要在app上查看各种类型文档的文件,看了下资料,苹果在iOS4.0系统中,官方SDK提供了一个QLPreviewController,使用它就可以让我们的App在iPhone/iPad中直接预览各个文件了。官方的开发文档中说明其支持的文件类型有:iWork文档、微软Office97以上版本的文档、RTF文档、PDF文件、图片文件、文本文件和CSV文件!非常的简单实用,废话不多话,很少代码量,注释也满满的,直接上代码

    使用之前QLPreviewController需要导入系统库

    添加的库

    代码如下

    ////  ViewController.m//  iOS中查看文档////  Created by CuiJianZhou on 2017/6/2.//  Copyright © 2017年 SuperVr. All rights reserved.

    //#import "ViewController.h"

    #import @interface ViewController ()

    <

    QLPreviewControllerDelegate,

    QLPreviewControllerDataSource

    >

    //打开word文档需要引入的视图控制器

    @property (nonatomic, strong)QLPreviewController *previewController;

    //文件路径

    @property (nonatomic, copy)NSString *path;

    @end

    @implementation ViewController

    - (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    //本文使用的是本地路径,网络路径可以使用afn下载文件到本地沙盒,再获取沙盒路径

    self.path = [[NSBundle mainBundle]pathForResource:@"xxx文件名" ofType:@"文件格式"];

    }

    /**

    查看文件按钮点击方法

    */

    - (IBAction)lockFileButtonClick:(UIButton *)sender {

    QLPreviewController *previewController = [[QLPreviewController alloc]init];

    previewController.delegate = self;

    previewController.dataSource = self;

    [self presentViewController:previewController animated:YES completion:nil];

    }

    /**

    文档数量

    */

    - (NSInteger)numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller{

    return 1;

    }

    /**

    //打开文件的地址

    */

    - (id)previewController: (QLPreviewController *)controller previewItemAtIndex:(NSInteger)index {

    //打开文件的地址,包括网络或者本地的地址

    return [NSURL fileURLWithPath:self.path];

    }

    /**

    点击Done方法(阅读器已经消失的时候调用)

    */

    - (void)previewControllerDidDismiss:(QLPreviewController *)controller {

    //消失后做你想做的

    }

    @end


    相关文章

      网友评论

        本文标题:iOS开发 使用QLPreviewController查看各种类

        本文链接:https://www.haomeiwen.com/subject/xrfufxtx.html