如何消除PDFView的“页面阴影”?

Mit*_*hen 4 pdfkit pdfview ios

将iOS PDFView添加到UIView时,PDFView的页面区域会添加阴影样的边框。有消除阴影的方法吗?

我知道一些凌乱的方法可以做到这一点:在屏幕外扩展边界,覆盖白色的UIView以隐藏阴影,或修改私有PDFPageView(以裁剪为边界)。我特别不希望这里的边界越界,并且也不想与其他黑客混在一起。

附带示例。(例如,此处使用的IRS表格;应用与IRS无关...) 在此处输入图片说明

Mit*_*hen 7

更新:Apple回应我的Radar称,新属性PDFView.pageShadowsEnabled已添加到iOS 12 beta3。这是隐藏阴影的正确方法。万岁!

https://developer.apple.com/documentation/pdfkit/pdfview/3013838-pageshadowsenabled?changes=latest_minor

以下是iOS 12之前的信息:

我已与Apple(WWDC 2018实验室)确认没有任何官方方法可以掩盖阴影。有人告诉我只有一个内部方法可以执行此操作,并要求提交Radar公开该方法。雷达#40847614,如果有人想欺骗。

同时,我正在深入研究视图层次结构,并将所有内容剪裁到界限。我不喜欢它,但它似乎起作用。阴影在旋转时返回,因此我在viewWillAppear和viewWillTransitionToSize中都调用了它。

-(void)removeShadowFromPDFView:(UIView *)view {
    //Deep-dive into pdfView and set all views to clipsToBounds = YES

    view.clipsToBounds = YES;

    if ([view subviews].count == 0) {
        //No subviews to examine
        return;
    }

    for (UIView *subview in view.subviews) {
        view.clipsToBounds = YES;
        [self removeShadowFromView:subview];
    }
}
Run Code Online (Sandbox Code Playgroud)