2010-12-28 19 views
1

これは簡単ですが、これに関する多くのドキュメントや投稿は見つかりませんでした。基本的には、私のアプリの一番下に完全にカスタムのタブバーがあります。 iPhone devの新機能で、私は次のことができると思った:カスタムiPhoneアプリのタブバー

  1. 画面の下部にカスタム画像を配置してタブボタンとして機能させる。
  2. "ContentView"と呼ばれるUIViewを作成して の残りの部分を入力し、 適切なタブのNIBを表示する画面を作成します。これは "ContentView"がメインの内部にあります。 NIBのUIViewです。
  3. このすべてを管理するコントローラの コントローラにイメージ「押し」アクションをフックアップします。

この方法で「ContentView」に適切なNIBを読み込む方法についてはわかりません。コントローラーの "Touch Up"アクションメソッドから、NIBをその "ContentView" UIViewに動的にロードできますか?

このことで何か不安になります。
良い方法がありますか?

+0

なぜあなたはペン先をダイナミックにロードする必要があるのか​​わかりません。このステップで何を達成しようとしていますか?私は最初の3つのステップを行い、それを配線して、それを完了と呼ぶでしょう。 – madmik3

答えて

2

あなたの問題を解決するには、UIViewとそれに関連するコンテンツでペン先を作成します。

ユーザーがタブに触れると、UIViewを作成して読み込みますペン先からのコントローラ

– initWithNibName:bundle: 

メインビューのUIViewをメインビューにサブビューとして追加します。

– addSubview: 

ユーザーが他のタブを押すと、他のタブがメモリに読み込まれ、UIViewがメインビューにサブビューとして追加されます。

ビューがすでにメモリにある場合、次の方法でサブビューを表示および非表示にすることができます。

– bringSubviewToFront: 
– sendSubviewToBack: 

私はうまくいくと思います。

+0

迅速な対応をありがとう!私はこのシナリオで "addSubView"メソッドがどのように動作するかを知らなかった。 これは、タブが必要なときにのみ読み込まれ、使用されていないときにはキャッシュされる点で優れた解決策です。 – Chris

0

あなたはどちらか、によって

これを解決するため、同じタブバーの画像およびカスタムボタンで異なるビューを作ることができます(ボタンのクリックのためのIBActionのロードビュー:内部までtoucp)か、(同じビューのためのさまざまなビューを作ることができますビューを非表示にして、一度に1つのビューのみを表示することができます)。

とあなたのアプリは、あなたはナビゲーションコントローラのpushViewControllerに必要なナビゲーションベースのアプリケーションのためにそれ以外の場合は、ウィンドウ上の他のビューを追加し基づいた図であるならば、あなたは(ビューをロードすることができます。

をこれはトリッキーな作業ですが、あなたがこれを処理する必要があります。

+0

応答をありがとう、私はデビッドの提案は、もともと私が意図したものにもっと一致したと思う! – Chris

関連する問題