0

シナリオを想像します:1つ以上のUITabBarControllerを使用できますか?

UITabBarController - UITabBar - タブ1:ビューコントローラA - タブ2:ビューコントローラB

私はビューコントローラAIをクリックすると、別UITabBarControllerをプッシュする:

UITabBarController -UITabBar - タブ1:ビューコントローラ1 - タブ2:ビューコントローラ2 - タブ3:ビューコントローラ3

これは可能ですか? UITabBarControllerに別のUITabBarControllerをビュースタックにプッシュさせるには?

答えて

0

あなたは確かにこれを行うことができますが、私はあなたのデザインを再考でしょう。 UITabBar項目を選択してタブバー自体を変更すると、Human Interface Guidelinesになります。また、あなたの例では、どのようにしてルートビューコントローラに戻ることができますか?

おそらく、UITableViewを使用して、セルをタップするとUITabBarControllerを含むビューコントローラをプッシュします(技術的には、これはHIGにも当てはまるかもしれませんが、タブバーはアプリケーション全体で同じでなければならないが、アプリはこれを採用しており、エレガントに見えます)。だからあなたの例を使用して:

RootViewController: は二つのセルを含むのUITableViewでUINavigationControllerとしてプッシュ: "セル1" & "セル2"

"セル1" に-Tapping UITabBar(I)を含むビューコントローラをプッシュしています「View Controller A」および「View Controller B」が含まれています。

「cell2」をタップすると、「View Controller 1」、「View Controller 2」、および「View Controller 3」を含むUITabBar(II)を含むView Controllerがプッシュされます。

いずれの場合も、「戻る」ボタンが表示され、UITabBar自体は変更する必要はありません。

+0

HIGの欠陥を指摘してくれてありがとう。私は私のアプリのデザインを再考する必要があると思う! –

0

確かに、私はインターフェイスビルダーにそれらを積み重ねました。フレームオフセットの問題がいくつかありますが、タブバーが積み上げられていることがわかります。さらに、他のタブが選択されると、タブバーはスタックを解除します。私はまた、最初のタブのビューがウィンドウのビューに追加され、IBOutletとして接続されていることを確認しなければなりませんでしたが、それ以外の場合はそれが必要です。

enter image description here

+0

hmm thatsかなり醜いIMO。新しいUITabBarControllerを新しいものに置き換える方法はありますか? –

関連する問題