我想快速获得一个透明的网页,因此我根据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
}
}
请帮助我提供代码。
创建透明背景的代码如下所示。
self.testWebView!.backgroundColor = UIColor.clear
现在的问题是您是否已经添加了正确的代码,那么为什么您没有获得可靠的输出..?
发生这种情况是因为您在WebViewController中加载的页面具有一些HTML
和CSS
代码,您使WebViewController透明,但是由于HTML
和CSS
您看不到它的透明性。
希望您能理解,并且对您有所帮助...:)
正如我所见,您使用情节提要(@IBOutlet
),并且可以使用情节提要设置WKWebView
:
关于代码。这足以获得结果。您不应该再次设置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
}