【发布时间】:2017-01-20 22:15:28
【问题描述】:
在我的项目中,我有一个视图控制器,我想在其中显示嵌入在另一个 UIView 中的 WKWebView,标题为 viewForEmbeddingWebView,这是我在情节提要中创建的(图片为灰色)。
我已经在我的 ViewController 中实现了这个逻辑:
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
@IBOutlet weak var viewForEmbeddingWebView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
webView = WKWebView(frame: viewForEmbeddingWebView.frame, configuration: WKWebViewConfiguration() )
self.viewForEmbeddingWebView.addSubview(webView)
self.webView.allowsBackForwardNavigationGestures = true
let myURL = URL(string: "https://www.apple.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
}
它显示 WKWebView 但边界看起来不对(首先:它不适合 viewForEmbeddingWebView 的边界,其次:顶部有一个白色间隙)。我读过我必须在苹果网站https://developer.apple.com/reference/webkit/wkwebview 上使用 WKWebView,但他们的例子不是我的情况,因为他们只展示了如何处理在 ViewController 的整个视图中加载 WKWebView 的情况。但我需要将它嵌入到另一个视图中,因为稍后我还需要围绕这个 WKWebView 的另一个 ui。在 WKWebView 之前有 WebView,但自从 iOS 8 出现后,我们必须使用 WKWebView。请帮忙,因为我检查了很多材料,但没有找到与 Swift 3 和 Xcode 8 配合得很好的答案。
我在 iOS 10.2 中使用 Xcode 8 和 Swift 3。
【问题讨论】:
标签: swift swift3 xcode8 wkwebview wkwebviewconfiguration