私のアプリには次の設定があります。最初のビュー コントローラーは 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 が連続しないように配置する方法はありません。