IOS 预览功能(轻松实现对各种文本、图片等查看)

来源:互联网 发布:java split . 编辑:程序博客网 时间:2024/05/01 15:14
首先需要#import<QuickLook/QuickLook.h>
然后实现<QLPreviewControllerDataSource>协议
别的不多说上代码

-(NSURL *)urlForFile:(NSString *)file
{
NSArray *segments=[file componentsSeparatedByString:@"."];
NSString *path=[[NSBundle mainBundle] pathForResource:[segments objectAtIndex:0] ofType:[segments objectAtIndex:1]];
return [NSURL fileURLWithPath:path];
}

-(void)viewDidLoad
{
[super viewDidLoad];
files=[NSArray alloc]initWithObjects:@"grocery.pdf",@"index.html",@"newsletter.pages",@"plain.txt",@"smile.jpg",nil];
}

#pragma mark Quick Look Data Source 

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

return [filescount];

}


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

return [selfurlForFile:[files objectAtIndex: index]];

}

 (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

{

QLPreviewController * ql = [[[QLPreviewControlleralloc] init]autorelease];

ql.dataSource =self;

ql.currentPreviewItemIndex = indexPath.row;

[self.navigationControllerpushViewController:ql animated:YES];

}