美文网首页iOS学习开发iOS开发记录
QLPreviewController 嵌套使用

QLPreviewController 嵌套使用

作者: 踢足球的程序员 | 来源:发表于2018-03-29 10:26 被阅读33次
iOS显示PDF有多种方式,具体可参见:https://blog.csdn.net/qq_34047841/article/details/70225881。

如果使用系统原生的QLPreviewController,就必须容忍它的导航栏和新页面展示。否则想单纯的通过addChildViewController或者addSubview:QLPreviewController.view将其嵌套在已有的ViewController中均会导致读取失效。
但通过如下方式可解决此问题:

@property (strong, nonatomic) QLPreviewController *previewController;
@property (strong, nonatomic) UIView *quickLookView;
...
[self addChildViewController:self.previewController];
[self.quickLookView addSubview:self.previewController.view];
[self.previewController didMoveToParentViewController:self];
[self.view addSubview:self.quickLookView];
...
[self.previewController.view mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(self.quickLookView);
        make.left.equalTo(self.quickLookView);
        make.right.equalTo(self.quickLookView);
        make.bottom.equalTo(self.quickLookView);
    }];
另外补充一点,若要展示网络资源pdf,需要先将其下载,否则直接在代理方法里return 一个远程 url是无法显示的。

相关文章

网友评论

    本文标题:QLPreviewController 嵌套使用

    本文链接:https://www.haomeiwen.com/subject/jatmcftx.html