2017-02-17 3 views
0

私はwkwebviewを使用してWebページをレンダリングします.3つのWebページがあります。私はこれらの3つのページの間をナビゲートするためにタブバーを使用したいと思います。私は各wkwebviewのページがあまりにも多くのリソースを取るかもしれないと感じています。1つのwkwebviewでWebページ間でタブバーをナビゲートする方法は?

だから、私はちょうどwkwebviewを3ページを読み込むために使用したいと思います。タブに触れると、ウェブページが読み込まれます。すなわち、tab1がクリックされたときに、ページ1がロードされ、タブ2がクリックされ、ページ2がロードされ、タブ3およびページ3について同じになる。これで、wkwebviewというページを読み込むことができます。

タブバーでこれを実装できない場合、どうすればよいですか?

+0

私はこのために3つのURLを提供し、それほど多くは可能ではありません。 –

+0

@AliFarhan前後にナビゲートしています。各ページに内部リンクがあるため、3つの異なるページでナビゲートすると機能しないことがあります。 –

+0

@AliFarhan私はこれをアンドロイドで実装しました。タブバーを使用すると、私は3つの異なるページをナビゲートすることができます。戻るボタンで、私は歴史の中をナビゲートすることができます。私はこれをiosで実装したいだけです。しかし、私にとっては簡単ではないことが分かりました。私はIOSプログラミングを初めて学んでいます。 –

答えて

1

もしあなたがViewControllerの中に3つのtabitemとUITabbarを追加して、ViewControllerで代理人を設定します。今すぐUITabbardidSelect 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)) 
    } 
} 
+0

お気軽に質問してください。 –

1

メソッドhandleNavBackButton()を無効にすると、戻るボタンでコールバックを取得できます。

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

それはあなたのために働く場合は私に知らせてください:)

+0

ありがとうございました、私は、ページ1が読み込まれたtab1をタッチすると、ページ2が読み込まれ、戻ったり来たりしなかったことを意味します。 –

1

使用すると、2つの異なるシーンを使用していない場合、あなたはのUIViewController + UIToolbarの組み合わせを使用する必要があります。 2つのUIBarButtonItemをツールバーに追加します。アクションを目的のURLに設定すると、完了です。

関連する問題