如何在Swift中制作透明背景WKWebView

问题描述 投票:1回答:2

我想快速获得一个透明的网页,因此我根据this answer尝试了以下代码。不过,我没有获得透明的网页。 webview颜色没有任何变化。.我可以知道为什么吗?我要去哪里错了?请在下面的代码中帮助我。

总代码:

 import UIKit
 import WebKit
 class WebviewViewController: UIViewController {

@IBOutlet weak var testWebView: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()


    guard let url = URL(string: "https://developer.apple.com/swift/") else { return }
    let request = URLRequest(url: url)

    testWebView.load(request)
    // Do any additional setup after loading the view.

          self.testWebView = WKWebView()
          self.testWebView!.isOpaque = false
          self.testWebView!.backgroundColor = UIColor.clear
          self.testWebView!.scrollView.backgroundColor = UIColor.clear
}
}

请帮助我提供代码。

ios swift wkwebview transparent
2个回答
1
投票

创建透明背景的代码如下所示。

self.testWebView!.backgroundColor = UIColor.clear

现在的问题是您是否已经添加了正确的代码,那么为什么您没有获得可靠的输出..?

发生这种情况是因为您在WebViewController中加载的页面具有一些HTMLCSS代码,您使WebViewController透明,但是由于HTMLCSS您看不到它的透明性。

希望您能理解,并且对您有所帮助...:)


0
投票

正如我所见,您使用情节提要(@IBOutlet),并且可以使用情节提要设置WKWebViewenter image description here

关于代码。这足以获得结果。您不应该再次设置self.testWebView = WKWebView(),因为您使用情节提要,并且可以使用情节提要设置isOpaque。结果:

@IBOutlet var testWebView: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()

    guard let url = URL(string: "https://developer.apple.com/swift/") else { return }
    let request = URLRequest(url: url)

    testWebView.load(request)
    testWebView.scrollView.backgroundColor = UIColor.clear
}
© www.soinside.com 2019 - 2024. All rights reserved.