QLPreviewController 的使用

在iOS4.0之后,使用官方SDK中的QLPreviewController可以预览PDF文件,他还支持其他的文件格式

1.iWork文档

2.微软Office97以上版本的文档

3.RTF文档

4.PDF文件

5.图片文件

6.文本文件和CSV文件


QLPreviewController需要用到QuickLook.framework,在.h文件中导入QuickLook/QuickLook/h,QLPreviewController支持打开网络的和本地的文件,这里我用的是本地的文件

 

- (void)viewDidLoad

{

    [superviewDidLoad];

 

 

  UIButton * btn =[UIButton buttonWithType:UIButtonTypeSystem];

  btn.frame =CGRectMake(10, 100, 300, 40);

  [btnsetTitle:@"打开" forState:UIControlStateNormal];

  [btnaddTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];

  [self.viewaddSubview:btn];

 

  _PDFArray =@[kPDFUrlOne,kPDFUrlTwo,kPDFUrlThree,kRTF];

}

-(void)btnClick:(UIButton *)btn

{

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

  qlPreview.dataSource= self; //需要打开的文件的信息要实现dataSource中的方法

  qlPreview.delegate= self;  //视图显示的控制

  [self presentViewController:qlPreview animated:YES completion:^{

    //需要用模态化的方式进行展示

  }];

}

#pragma mark - previewControllerDataSource

-(NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController*)controller

{

  return_PDFArray.count; //需要显示的文件的个数

}

-(id<QLPreviewItem>)previewController:(QLPreviewController*)controller previewItemAtIndex:(NSInteger)index

{

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

  NSURL * url =[NSURL fileURLWithPath:_PDFArray[index]];

  return url;

}

#pragma mark - previewControllerDelegate

 

-(CGRect)previewController:(QLPreviewController*)controller frameForPreviewItem:(id<QLPreviewItem>)iteminSourceView:(UIView *__autoreleasing *)view

{

  //提供变焦的开始rect,扩展到全屏

  return  CGRectMake(110, 190, 100, 100);

}

-(UIImage *)previewController:(QLPreviewController*)controller transitionImageForPreviewItem:(id<QLPreviewItem>)itemcontentRect:(CGRect *)contentRect

{

  //返回控制器在出现和消失时显示的图像

  return [UIImageimageNamed:@"gerenziliao_morentouxiang.png"];

}

-(void)previewControllerDidDismiss:(QLPreviewController*)controller

{

  //控制器消失后调用

}

-(void)previewControllerWillDismiss:(QLPreviewController*)controller

{

  //控制器在即将消失后调用

}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值