我正在尝试在 UIWebView 中显示 PDF 文件。工作正常。但是,PDF View 的背面有阴影。我不知道如何完全删除它。
我的代码:
func webViewDidFinishLoad(webView: UIWebView) {
for object in webView.scrollView.subviews
{
if NSStringFromClass((object.classForCoder)) == "UIWebPDFView"
{
let pdfVi = object
for pdf_view_sub in (pdfVi.subviews)
{
if NSStringFromClass((pdf_view_sub.classForCoder)) == "UIPDFPageView"
{
let pdfVi_lay = pdf_view_sub
pdfVi_lay.layer.shadowOpacity = 0.0
}
}
}
}
}
我的形象
当我们开始滚动时,上面的代码不起作用。这意味着,如果我们试图向上滚动,相同的阴影会自动出现在 PDF 的背面。
最佳答案
就我而言,我也有类似的情况。我只需要在 UIWebView 中为 PDF 查看器更改 Swift3 中的边框和背景颜色,重要的是为 PDF 以外的其他文件保留另一种颜色。
这不是精确的解决方案,但它是适合您的问题的解决方案。无论如何,此解决方案可用于更多场景。
这是我的解决方案:
var color = UIColor.white
for object in webView.scrollView.subviews {
if NSStringFromClass((object.classForCoder)) == "UIWebPDFView" {
for pdf in (object.subviews) {
if NSStringFromClass((pdf.classForCoder)) == "UIPDFPageView" {
color = UIColor(red:0.502, green:0.502, blue:0.502, alpha:1)
}
}
}
}
webView.backgroundColor = color
webView.layer.shadowOpacity = 0.0
webView.scrollView.backgroundColor = color
webView.scrollView.layer.shadowOpacity = 0.0
for object in webView.scrollView.subviews {
object.backgroundColor = color
object.layer.shadowOpacity = 0.0
if NSStringFromClass((object.classForCoder)) == "UIWebPDFView" {
object.backgroundColor = color
object.layer.shadowOpacity = 0.0
for pdf in (object.subviews) {
pdf.backgroundColor = color
pdf.layer.shadowOpacity = 0.0
if NSStringFromClass((pdf.classForCoder)) == "UIPDFPageView" {
pdf.backgroundColor = color
pdf.layer.shadowOpacity = 0.0
}
}
}
}
关于ios - 如何在快速加载 PDF 时删除 UIWebView 中的背影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35572737/