5

私のアプリには次の設定があります。最初のビュー コントローラーは UITabBarController です。タブ:

1) UINavigationController->PostListVC
2) UINavigationController->CategoriesListVC
3) UINavigationController->PostListVC
4) UINavigationController->PostListVC
5) UINavigationController->MoreViewController

ご覧のとおり、3 つのタブには同じ viewController クラスが含まれていますが、同じビュー コントローラー オブジェクトを含むべきではありません。ビューには、AppDelegate から取得した情報に基づいて異なる情報が表示されます。

私がしたことは、5 つの UINavigationControllers を作成し、それらを uitabbarcontroller に接続してから、そのうちの 3 つを同じ PostListVC ビューに rootViewController セグエを作成したことです。これにより、同じビューの 3 つのデザインを維持する必要がなくなりました。

私が得る問題は、最初の PostListVC のみが適切に作成されることです (タブバーの一番左) - PostListVC を指す他のタブには黒い画面が表示されます。

3 つのタブの例を使用して、ストーリーボードを接続する方法を説明しようとしました ここに画像の説明を入力

何が問題なのかわかりません。ストーリーボードの使い方が少し間違っていると思います。

これを修正する方法を知っている人はいますか?

ありがとう!

編集: この問題を説明する単純なサンプル プロジェクト (Xcode 5) を作成しました。

http://www.speedyshare.com/Srwfg/TabBarProblem.zip

編集 2: 提供されたソリューションの問題を示す、例の修正版: http://speedy.sh/JkdGC/TabBarProblem-2.zip

このメソッドで別の tabBarItems を作成する方法はありません。また、セグエの順序を変更しようとしても、barItems が連続しないように配置する方法はありません。

4

2 に答える 2

0

PostListVC の 3 つの異なるインスタンスが必要だと言ったように、タイプ PostListVC の 3 つの異なるビューコントローラーを作成し、各タブを独自に接続する必要があります。クラスは同じですが、各タブは独自のインスタンスを取得します。

于 2013-10-26T17:36:50.860 に答える
0

私はあなたのサンプル プログラムを動作させることができましたが、ソリューションがプロジェクト全体で機能するかどうかはわかりません。うまくいけば、それはあなたを正しい軌道に乗せるでしょう.

解決策は、1 つのナビゲーション コントローラー/埋め込みルート ビューを使用することですが、2 つのセグエをタブ バー コントローラーから分離することです。写真は次のとおりです。

ここに画像の説明を入力

複数UINavigationControllerの が同じ にリンクされていることに問題があるようUIViewControllerです。しかし、. UINavigationController_UIViewControllerUITabBarController

于 2013-10-26T19:40:49.700 に答える