在 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.
加上这两个就可以解决你的问题了。
我正在尝试在 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.
加上这两个就可以解决你的问题了。