0

1年ほど経ってiOS開発に戻ったばかりで、UITabViewControllerビューの上または下に単一のビューを表示する方法を探しています。アイデアは、各タブに 1 つではなく、アプリ全体で使用される 1 つの広告ビューを持つことです。広告ビューを常に再初期化することは、オーバーヘッドが大きいように思われるため、1 つ永続化する方が効果的と思われます。

私はこれを検索しましたが、何も見つけられなかったので、有用なリンクでもありがたいです.

前もって感謝します、ジェイソン

4

3 に答える 3

1

親View Controllerを作成し、各View Controllerがその親View Controllerから継承するのはどうですか? 親ビュー コントローラーには広告ビューまたはテーブル ビューがあるため、すべての子ビュー コントローラーにもこれら 2 つのビューがあります。

于 2012-11-23T16:31:06.970 に答える
1

ここにいくつかのアプローチがあります:

  1. アプリケーションのデリゲートでビュー階層を設定しているので、アプリのデリゲートとは別に作成してUIViewController管理することをお勧めします。そうすれば、多くの作業を行うことなく、メインの UIWindow で表示/非表示を切り替えることができます。

  2. 表示されているビュー コントローラーで広告をサブクラスUITabBarController化して表示できます。これは手間がかかりますが、アプリ デリゲートが広告関連のコードで雑然としないため、アプリ アーキテクチャはほぼ間違いなくクリーンになります。

  3. UIViewController別のオプションは、関連するコードの追加を管理できるカテゴリを調べることです。必ずしも最もクリーンではありませんが、アプリ デリゲートとタブ バー コントローラーの両方から広告を排除します。(ランタイム レベルの呼び出しを介してカテゴリ プロパティとして広告ビューを追加し、オブジェクトを関連付けますが、面倒です。)

私だったらおそらく最初のアプローチを使用するでしょうが、広告ビューはそれ自体のビュー コントローラーを実際に必要としないため、他の 2 つのアプローチのいずれかについて議論することができます。

于 2012-11-23T16:59:26.450 に答える
0

さて、このためのカスタマービューコントローラーの作成と管理に時間を費やした後、AppleがiOS5に追加したContainerViewController機能に出くわしました。iOS4以前をサポートする必要がないので、これは私にとってはうまくいきます。ここにそれの良い説明があります(残念ながら、作者はチュートリアルでパート2を書いたことはありません):

コンテナビューコントローラの説明

そして、まともなチュートリアルがここにあります:

ContainerViewControllerチュートリアル

これらの2つの間で、Container View Controllerに含まれるAdViewControllerとBodyViewController(TabBarController)を使用して適切なセットアップを作成することができました。これにより、必要なすべての機能が得られます(少なくともこれまでのところ)。

于 2012-11-24T00:00:29.080 に答える