0

単一の UIWebView を制御するために複数の UITabBar タブを使用するにはどうすればよいですか?

例:

Pressing tab1: UIWebView loads index.html
Pressing tab2: the same UIWebView loads customers.html
Pressing tab3: the same UIWebView loads tos.html

私のアプローチは、UIWebView を AppDelegate に配置し、すべての ViewController の self.webview をその単一の UIWebView に設定することでした。ただし、WebView は表示されますが、白で何も読み込まれません。

ヒントはありますか?

4

3 に答える 3

1

WebView を移動するには、-removeFromSuperview と -addSubview を実行する必要があります。インスタンス変数に再割り当てするだけではうまくいきません。

于 2009-11-16T23:56:30.730 に答える
1

WebView は高価なので、あなたのアプローチはおそらく正しいですが、各タブ ビュー コントローラーで個別の WebView を作成することから始めて、最初に期待どおりに動作するかどうかを確認することをお勧めします。オーバーヘッドが原因で、アプリがメモリ警告を受け取り始める可能性がありますが、これにより、少なくともページがそのコンテキストで正しく読み込まれるかどうかを確認できます。

また、各ビュー コントローラーに WebView を追加する方法を示すコードを投稿できますか? -setFrame を使用して webview のフレームを設定していない場合、view controller ビューのサブビューとして webview を追加すると、正しく表示されません。

于 2009-11-16T22:42:56.837 に答える
1

タブバーは、あなたがやろうとしていることに対して本当に間違ったモデルです. コンテンツを切り替えたい場合、本当に必要なのはツールバーです。これは、場所のビューをさまざまな方法で変更することを目的としているためです.TabBarは、関連のない複数のビューを切り替えることを目的としているため、複数のタブで同じビューを使用します。

本当にまったく関係のないコンテンツがある場合は、タブごとに 1 つずつ異なる UIWebView を使用することを検討してみませんか。それらはそれほど重くはないので、複数のインスタンスをロードしても問題はありません。また、タブは押されるまでコンテンツをロードしないため、すべてが一度にロードされるわけではありません。メモリを節約するために、タブが切り替えられたときにビュー コントローラーを捨てることさえできます。ただし、各ビューで独自の Web ビューを管理する方が理にかなっており、コンテンツを簡単にキャッシュしておくことができます。

于 2009-11-17T00:16:22.853 に答える