如何使用一个 wkwebview 使标签栏在网页之间导航?
How to make tabbar navigate between webpages with one wkwebview?
我使用wkwebview
渲染网页,我有三个网页。我想使用 tabbar 在这三个页面之间导航。我觉得每 wkwebview
个页面可能占用太多资源。
所以我只想用一个wkwebview
来加载三页。触摸选项卡时,网页页面加载。即当点击 tab1 时,加载 page1,点击 tab2,加载 page2,tab3 和 page3 相同。现在我可以用 wkwebview
加载一个页面,我是 ios.
的新手
如果tabbar无法实现,我该怎么办?
您可以覆盖方法 handleNavBackButton()
以获得返回按钮的回调。
override func handleNavBackButton() {
if webViewData.canGoBack {
webViewData.goBack()
} else {
_ = self.navigationController?.popViewController(animated: true)
}
}
请告诉我它是否适合你:)
如果你不是使用两个不同的场景,你需要使用 UIViewController + UIToolbar 的组合。将您的两个 UIBarButtonItem 添加到您的工具栏。将他们的操作设置为所需的 url 就完成了。
如果你想要类似的东西,那么在你的 ViewController
中添加带有 3 个 tabitem 的 UITabbar
,然后用你的 ViewController
设置它的委托。现在实现 UITabbar
的 didSelect item
方法并根据选项卡加载 url。
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))
}
}
我使用wkwebview
渲染网页,我有三个网页。我想使用 tabbar 在这三个页面之间导航。我觉得每 wkwebview
个页面可能占用太多资源。
所以我只想用一个wkwebview
来加载三页。触摸选项卡时,网页页面加载。即当点击 tab1 时,加载 page1,点击 tab2,加载 page2,tab3 和 page3 相同。现在我可以用 wkwebview
加载一个页面,我是 ios.
如果tabbar无法实现,我该怎么办?
您可以覆盖方法 handleNavBackButton()
以获得返回按钮的回调。
override func handleNavBackButton() {
if webViewData.canGoBack {
webViewData.goBack()
} else {
_ = self.navigationController?.popViewController(animated: true)
}
}
请告诉我它是否适合你:)
如果你不是使用两个不同的场景,你需要使用 UIViewController + UIToolbar 的组合。将您的两个 UIBarButtonItem 添加到您的工具栏。将他们的操作设置为所需的 url 就完成了。
如果你想要类似的东西,那么在你的 ViewController
中添加带有 3 个 tabitem 的 UITabbar
,然后用你的 ViewController
设置它的委托。现在实现 UITabbar
的 didSelect item
方法并根据选项卡加载 url。
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))
}
}