QuickLook只是提供了文档的预览功能,可以简单快速的使用
一、引入#import <QuickLook/QuickLook.h>
二、初始化QLPreviewController
QLPreviewController *qlPreVC = [[QLPreviewController alloc] init];
qlPreVC.delegate = self;
qlPreVC.dataSource = self;
qlPreVC.title = _fileName;
[qlPreVC setCurrentPreviewItemIndex:0];
[self.navigationController pushViewController:qlPreVC animated:YES];
可以设置QLPreviewController属性设置界面获取自己想要的视图效果,也可以创建一个视图控制器进行设置。
三、QLPreviewControllerDataSource
遵循代理QLPreviewControllerDataSource
#pragma mark - QLPreviewControllerDataSource
// 预览的数量
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller {
return 1;
}
// 控制器预览的内容
- (id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index {
return [NSURL fileURLWithPath:_downloadModel.filePath];
}
四、QLPreviewControllerDelegate
遵循代理QLPreviewControllerDelegate
#pragma mark - QLPreviewControllerDelegate
// 预览界面将要消失
- (void)previewControllerWillDismiss:(QLPreviewController *)controller {
}
// 预览界面已经消失
- (void)previewControllerDidDismiss:(QLPreviewController *)controller {
}
// 文件内部链接点击是否进行外部跳转
- (BOOL)previewController:(QLPreviewController *)controller shouldOpenURL:(NSURL *)url forPreviewItem:(id <QLPreviewItem>)item {
return NO;
}
在预览控制器退出效果设置
- (CGRect)previewController:(QLPreviewController *)controller frameForPreviewItem:(id)item inSourceView:(UIView *__autoreleasing _Nullable *)view;
- (UIImage *)previewController:(QLPreviewController *)controller; transitionImageForPreviewItem:(id )item contentRect:(CGRect *)contentRect;