1

私の問題は、子ビュー コントローラーが最初に表示されたタブ バー ビューが必要なことです。子View Controllerでは、クリックされたコントロールに応じて、A)タブバービュー内をドリルダウンする(子View Controllerをスワイプする)か、B)タブバービューをドリルダウンする(タブバーをスワイプする)必要がありますビューコントローラー)。

タブバーコントローラーの子ビューコントローラー内にナビゲーションコントローラーをラップし(メソッドAを使用してドリルダウンできるように)、タブバーコントローラー自体の周りに別のナビゲーションコントローラーをラップすることで、この問題を解決しようとしました(ドリルダウンできるようにします)方法 B) を使用するため、タイトルが付けられます。つまり、ウィンドウ -> UINavigationController -> UITabBarController -> UINavigationController -> 子ビュー コントローラー

問題は、2 つのナビゲーション バーが表示されることです。

2 つのナビゲーション バー !! http://img527.imageshack.us/img527/240/problemc.png

他の誰かがこの問題を抱えていましたか? もしそうなら、どのように回避しましたか? ありがとう!

4

3 に答える 3

2

この場合、UITabBarタブ バー コントローラーを別のコントローラー内にネストすることなく、単純に a を使用してその状態をプログラムで管理できます。

于 2009-09-01T04:35:33.700 に答える
1

ネストされた 2 つの UINavigationController を使用している場合、ナビゲーション バーが 2 つあることを回避できるとは思いません。バーを表示したくないコントローラーの swizzle UINavigationController をサブクラス化またはメソッド化して、何らかの方法でそのバーが表示または作成されないようにすることができる場合があります。それに応じてナビゲーション バーの opaque プロパティまたは hidden プロパティを設定することもできますが、これも機能する可能性がありますが、空のギャップを防ぐために、派手な UIView の再配置を行う必要があるでしょう。

これは単なる憶測です。どちらのアプローチが機能するか、またはどのように機能するかはわかりませんが、これらのアイデアは、私がこれをやろうとした場合に開始するものです.

于 2009-09-01T03:39:33.157 に答える
1

不要なバーを非表示にするだけです。次のように簡単です。

[navigationController setNavigationBarHidden:YES animated:NO];
于 2010-12-08T00:48:22.440 に答える