Как сделать так, чтобы панель вкладок перемещалась между веб-страницами с помощью одного wkwebview?

Я использую wkwebview Чтобы отобразить веб-страницу, у меня есть три веб-страницы. Я хочу использовать панель вкладок для перемещения между этими тремя страницами. Я чувствую каждый wkwebview страница может занять слишком много ресурсов.

Так что я просто хочу использовать только один wkwebview загрузить три страницы. при нажатии на вкладку загружается страница веб-страницы. т. е. при нажатии на tab1 загружается страница1, нажимается tab2, загружается страница2, то же самое для tab3 и page3. Теперь я могу просто загрузить страницу с wkwebviewЯ новичок в IOS.

если вкладка не может реализовать это, что мне делать?

3 ответа

Решение

Если вы хотите что-то вроде, то добавьте UITabbar с 3 табитем внутри вашего ViewController а затем установить делегат этого с вашим ViewController, Сейчас реализуем didSelect item метод UITabbar и загрузите 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))
    }
}

Вы можете переопределить метод handleNavBackButton() чтобы получить обратный звонок на кнопку назад.

override func handleNavBackButton() {
  if webViewData.canGoBack {
    webViewData.goBack()
  } else {
    _ = self.navigationController?.popViewController(animated: true)
  }
}

Пожалуйста, дайте мне знать, если это работает для вас:)

Если вы не используете две разные сцены, вам нужно использовать комбинацию UIViewController + UIToolbar. Добавьте два ваших UIBarButtonItem(s) на панель инструментов. Установите их действие на желаемый URL, и все готово.

Другие вопросы по тегам