2017-02-17 4 views
0

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

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

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

+0

Я думаю, вам нужно будет предоставить 3 URL-адреса для этого и используя один веб-просмотр, не возвращаясь туда и обратно, его не так много. –

+0

@AliFarhan взад и вперед перемещается по истории. Для каждой страницы есть внутренние ссылки, поэтому перемещение может не работать с тремя разными страницами. –

+0

@AliFarhan Я реализовал это в android. С помощью вкладки я могу перемещать несколько трех страниц. и с помощью кнопки «Назад» я могу перемещаться по истории. Я просто хочу реализовать это в ios. Но найти это непросто для меня, предположим, я новичок в программировании IOS. –

ответ

1

Если вы хотите что-то вроде добавить UITabbar с 3 tabitem внутри своего ViewController, а затем установите его делегатом с ViewController. Теперь примените метод didSelect itemUITabbar и загрузите 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)) 
    } 
} 
+0

Не стесняйтесь задавать вопрос, если вы не получите его. –

1

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

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

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

+0

Спасибо, я имею в виду, когда я касаюсь tab1, загружаемой страницы1, tab2 загружается страница2, а не назад или вперед. –

1

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

Смежные вопросы