在WKWebView中嵌入youtube视频无法正常工作

时间:2018-03-10 01:54:40

标签: ios swift embed wkwebview

我正在尝试在WKWebView中快速嵌入YouTube视频。我不知道我是否做得好,因为我刚开始使用WKWebView(至少代码适用于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 个答案:

答案 0 :(得分:0)

在您的代码中有两个问题:

问题1:

//final is HTML String not an URL

 if let url = URL(string:final) { 

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

所以它永远不会进入if Block

你应该使用

 webView2.loadHTMLString(final, baseURL: nil)

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

webView2.frame = view.bounds // any frame size as per your need.  

添加这两个将解决您的问题。