私は興味深い状況に遭遇しました.3つUITableViewControllerのiPhoneアプリがそれぞれ多かれ少なかれ同じデータを表示しています(フィルタリングの問題だと言えます)。これまでに、このために 3 つの個別の NIB があり、それぞれに独自のコントローラーがあり、さらに上部のボタンのためにUITableViewControllers が内部にありました。UINavigationController
ここで、アプリを最適化してフットプリントを削減するために、すべてのロジックを 1 つの共通コントローラー ( UITableViewController) にパックし、NIB を 1 つだけ残しました。共通コントローラーは、データをフィルター処理して正しいデータを指すようにします。
したがって、同じ共通コントローラーを 3 つのナビゲーション コントローラーにロードします。
navControllerA = [[UINavigationController alloc] initWithRootViewController: commonTableController];
これらのナビゲーション コントローラを に追加しましたUITabBarController:
navigationControllersArray = [NSArray arrayWithObjects: navControllerA, navControllerB, navControllerC, nil];
[tabController setViewControllers:[NSArray arrayWithArray:navigationControllersArray]];
タブが表示され、テーブル ビューが表示されます。しかし、次のものをタッチして、表示UITabBarItemされていない前のものに戻ると、その場所にUITableViewControllerのみ表示UIWindowされます。はUITableViewController最後に触れたときだけ表示されますUITabBarItem。
UITabBar私が気付いていないある種のビュー読み込みメカニズムはありますか?