Xcode 9:加载WebView后加载UIWebView的导航项标题

时间:2018-04-10 04:50:53

标签: ios swift xcode uiwebview uiwebviewdelegate

我正在WebView中加载一些URL内容。导航项的标题设置为网页视图标题(参见下面的代码):

extension WebPageView: WKNavigationDelegate {

    func webView(_: WKWebView, didFinish _: WKNavigation!) {
        loader?.hide()
        navigationItem.title = webView?.title
    }

    . . .
}

然而,问题是加载了网页视图的内容,之后设置了导航项目的标题(报告为错误)。

是否有任何方法可以设置导航项的标题,然后加载网页视图内容?

1 个答案:

答案 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