在 WKWebView 中嵌入 youtube 视频不起作用

Embbeding youtube video in WKWebView not working

我正在尝试在 swift 中的 WKWebView 中嵌入一个 YouTube 视频。我不知道我是否做得很好,因为我是 [=] 的新手11=](至少代码在 webView 上运行良好)。所以这是代码:

    import UIKit
    import WebKit

    class ViewController: UIViewController, WKUIDelegate {

    var webView2: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let width = self.view.frame.width
        let height = width/320 * 180


        let videoEmbedString = "<html><head><style type=\"text/css\">body {background-color: transparent;color: white;}</style></head><body style=\"margin:0\"><iframe frameBorder=\"0\" height=\""
        let one = String(describing: height) + "\" width=\"" + String(describing: width) + "\" src=\"http://www.youtube.com/embed/"

        let id = "ojbb6nGvIi8"

        let parameters = "?showinfo=0&modestbranding=1&frameborder=0&rel=0&loop=1&playlist=\(id)\"></iframe></body></html>"


        let final = videoEmbedString + one + id + parameters

        webView2 = WKWebView()


        if let url = URL(string:final) {

            let request = URLRequest(url: url)
            webView2.load(request)
        }

        view.addSubview(webView2)

    }

}

在此先感谢您的帮助!!!

您的代码中有两个问题:

问题 1:

//final is HTML String not an URL

 if let url = URL(string:final) { 

    let request = URLRequest(url: url)
    webView2.load(request)
} 

所以它永远不会进入 if 块

你应该使用

 webView2.loadHTMLString(final, baseURL: nil)

问题 2: webView2 没有框架。您需要为 webView2

设置框架
webView2.frame = view.bounds // any frame size as per your need.  

加上这两个就可以解决你的问题了。