使用QLPreviewController打开PDF

在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
{
    [super viewDidLoad];


	UIButton * btn = [UIButton buttonWithType:UIButtonTypeSystem];
	btn.frame = CGRectMake(10, 100, 300, 40);
	[btn setTitle:@"打开" forState:UIControlStateNormal];
	[btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
	[self.view addSubview: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>)item inSourceView:(UIView *__autoreleasing *)view
{
	//提供变焦的开始rect,扩展到全屏
	return CGRectMake(110, 190, 100, 100);
}
-(UIImage *)previewController:(QLPreviewController *)controller transitionImageForPreviewItem:(id<QLPreviewItem>)item contentRect:(CGRect *)contentRect
{
	//返回控制器在出现和消失时显示的图像
	return [UIImage imageNamed:@"gerenziliao_morentouxiang.png"];
}
-(void)previewControllerDidDismiss:(QLPreviewController *)controller
{
	//控制器消失后调用
}
-(void)previewControllerWillDismiss:(QLPreviewController *)controller
{
	//控制器在即将消失后调用
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值