【Objective-C】プログラムでUITabBarControllerのタブを切り替えて画面遷移させる方法【iOS11】【Xcode9】

UITabBarControllerのタブを押して画面を切り替えるのではなく、任意のタイミングでUITabBarControllerのタブを押した状態と同じ処理をさせる方法です。

独自に実装したUIButtonやUIBarButtonItemなどで使用することができます。

selectedIndexによって変更

//0 = 一番左のタブに切り替え
self.tabBarController.selectedIndex = 0;

selectedViewControllerによって変更

// UITabBarControllerで使っているViewController指定して切り替え
self.tabBarController.selectedViewController = self;

 

この2つの方法で画面の切り替えも、タブバーのボタンの切り替え(ハイライト状態)も一度に切り替えが可能です。