UITabBarController は結構人気なクラスです。

その構造は、tabに各ViewControllerを持っており、viewcontrolersにUIViewControlerを持っております。

ナビゲーションコントローラーを持っていれば、viewcontrollers の最初はUINavigationViewControlerになっておりそこから、rootViewcontrolerからはじまりてきな、感じになっております。

今回は、A tab  B tab という二つのタブを持った、tabBarControllerからA tab の最初の画面から、

 

B tabの2番目の画面に遷移する方法です。

 

下記がコードになります。

 

まずは、tabBarCntrollerが持っている遷移したい先のtabのviewControllerを取得今回の場合、UINasvigationControllerを使っておりますので、UINavigationControllerを取得。

その後、自クラスのタブバーコントローラーを b tabを選択状態にする。

その先にある、遷移したいviewControllerを取得して navigationControllerのpushにて遷移します。

 

tabBarControlerからviewControllerを取得して、そこにxibを渡せば、そのまま遷移できるものだとタカくくっていたら、

 

ダメでした。

 

なるほな〜

tabBar 選択状態にしないとあかんのか、

 

そんな感じドドエス。