タイトルはそれをすべて説明しています。
問題は、UISegmentedControll コールバック (ボタンの押下) の処理です。ネストされたすべてのビューのコンテンツ タイプが同じ (つまり、いくつかの UITableViewControllers) である場合は、dataSource を切り替えてテーブルをリロードするだけで済みます。
ただし、これは当てはまりません。NavigationControllers に基づいてさらにドリルダウン/対話できる 3 つの非常に異なるビューがあります。
したがって、このように ATM をセットアップする方法は、すべての UINavigationController を入れる「コンテナ」クラスがあることです。それらはすべて同じ 1 つの UISegmentedController を共有し、コールバックをコンテナ ビュー コントローラにリダイレクトします。これはあまり気分が良くありません。
さらに、ユーザーがタブ バー アイコンをタップすると、ナビゲーション コントローラーが空のコンテナー ビューであるルートにポップするという問題があります。
これが私が達成したいことの写真です: