在iOS4.0系统中,官方SDK提供了一个QLPreviewController,使用它就可以让我们的App在iPhone/iPad中直接预览各个文件了。官方的开发文档中说明其支持的文件类型有:iwork文档,office97以上版本的文档,ptf文档,pdf文档,图片文件,文本文件和csv文件。
使用方法也很简单,在Frameworks中添加QuickLook.framework,直接alloc出一个QLPreviewController对象,用presentModalViewController方法把它调出来即可。要指定QLPreviewController预览那个文件,只要直接实现它的代理方法previewItemAtIndex,返回一个NSURL对象即可
1. 在.m文件中加入#import <QuickLook/QuickLook.h>
2.点击cell,在didselectrowatindexpath中实现的方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
QLPreviewController * previewer =[[[QLPreviewController alloc] init] autorelease];
previewer.dataSource = self;
previewer.currentPreviewItemIndex=indexPath.row;
previewer.title = @"预览功能";
[self.navigationController pushViewController:previewer animated:YES];
}
#pragma mark QLPreviewControllerDateSource
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
{
return [arrayofDocuments count];
}
- (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index
{
NSArray *fileComponents = [[arrayofDocuments objectAtIndex: index] componentsSeparatedByString:@"."];
NSString * path = [[NSBundle mainBundle] pathForResource:[fileComponents objectAtIndex:0] ofType:[fileComponents objectAtIndex:1]];
return [NSURL fileURLWithPath:path];
}