关于ios:如何用一个wkwebview让tabbar在网页间导航?

How to make tabbar navigate between webpages with one wkwebview?

我使用 wkwebview 来渲染网页,我有三个网页。我想使用标签栏在这三个页面之间导航。我觉得每个 wkwebview 一个页面可能会占用太多资源。

所以我只想用一个wkwebview来加载三页。触摸选项卡时,网页页面已加载。即当tab1点击时,page1加载,tab2点击,page2加载,tab3和page3相同。现在我可以用 wkwebview 加载一个页面,我是 ios 的新手。

如果tabbar不能实现这个,我该怎么办?


如果你想要类似的东西,那么在你的 ViewController 中添加带有 3 个 tabitem 的 UITabbar,然后用你的 ViewController 设置它的委托。现在实现 UITabbardidSelect item 方法并根据 tab.

加载 url

1
2
3
4
5
6
7
8
9
10
func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
    switch item.title! {
    case"First":
        self.webView.load(URLRequest(url: url1))
    case"Second":
        self.webView.load(URLRequest(url: url2))
    default:
        self.webView.load(URLRequest(url: url3))
    }
}


如果你不使用两个不同的场景,你需要使用 UIViewController UIToolbar 的组合。将您的两个 UIBarButtonItem(s) 添加到您的工具栏。将他们的操作设置为所需的 url,你就完成了。


您可以覆盖方法 handleNavBackButton() 以获取返回按钮的回调。

1
2
3
4
5
6
7
override func handleNavBackButton() {
  if webViewData.canGoBack {
    webViewData.goBack()
  } else {
    _ = self.navigationController?.popViewController(animated: true)
  }
}

如果它适合你,请告诉我:)