QLPreviewController预览、分享pdf文件

最新上架一款新APP,一直构建失败。查询资料后才知道IOS13后新上架的APP不能在包含有UIWebView了。没办法,只能按规则修改了。
因为工程里使用了UIWebView来预览本地的pdf文件,按要求修改成QLPreviewController来加载显示(使用过WKWebView来加载,一直显示空白,暂时不知道什么原因)。

导入QuickLook.framework库

定位到TARGETS->Build Phases,在Link Binary With Libraries项添加QuickLook.framework。
1.png
代码实现
///头文件导入
#import <QuickLook/QuickLook.h>
///代理
@interface ReportVC ()<QLPreviewControllerDataSource,QLPreviewControllerDelegate>
@end
@implementation ReportVC
{
    QLPreviewController *qlvc;
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    qlvc = [[QLPreviewController alloc] init];
    qlvc.dataSource = self;
    qlvc.delegate = self;
    [self presentViewController:qlvc animated:YES completion:nil];
}
///代理
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller{
    return 1;
}
- (id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index{
    NSURL *filePath = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"文件名" ofType:@"pdf"]];
    return filePath;
}
-(void)previewControllerDidDismiss:(QLPreviewController *)controller{
    [self.navigationController popViewControllerAnimated:YES];
}
显示效果

2.jpeg

注:如果你的工程里有用到AFNetworking,需升级到最新版本,可参考CocoaPods中升级AFNetworking

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容