我正在WebView中加载一些URL内容。导航项的标题设置为网页视图标题(参见下面的代码):
extension WebPageView: WKNavigationDelegate {
func webView(_: WKWebView, didFinish _: WKNavigation!) {
loader?.hide()
navigationItem.title = webView?.title
}
. . .
}
然而,问题是加载了网页视图的内容,之后设置了导航项目的标题(报告为错误)。
是否有任何方法可以设置导航项的标题,然后加载网页视图内容?
答案 0 :(得分:2)
您问题的答案"是否有任何方式设置导航项的标题,然后加载网页视图内容?"是不,这似乎是不可能的,因为"标题"一旦完全加载Web内容,就会检索webview。 然而
var title: String? { get }
WKWebView类符合此属性的键值观察(KVO)。
您可以将观察者添加到webview以获取密钥" title"与加载请求并行。
webView.load(myRequest())
webView.addObserver(self, forKeyPath: "title", options: .new, context: &myContext)
供更多参考 https://gist.github.com/fahied/698e6f3a09d898b0020d1d4775ffef93