[iPhoneアプリ]TabBarControllerでタブに設定されているViewContllerを入れ替える


 

iPhoneアプリで「TabBarController」で実装していると、特定のタブの表示をごっそり入れ替えたい場合がある。

この時、タブに設定されているViewContller毎、入れ替えてしまう方法

    NSMutableArray *tabs = [NSMutableArray arrayWithArray:self.tabBarController.viewControllers];
    SubTabViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"SubTabViewController"];
    UIViewController *tmpController = [tabs objectAtIndex:1];
    controller.tabBarItem = tmpController.tabBarItem;
    [tabs replaceObjectAtIndex:1 withObject:controller];
    [self.tabBarController setViewControllers:tabs animated:NO];
  • 2行目で入れ替えたいViewContllerのインスタンスを生成
  • 3-4行目で、tabBarItemを設定
  • 5行目でタブの入れ替え(今回は2つめのタブを入れ替えたのでIndexは「1」を指定)

これで、見事ViewControllerが入れ替わって下に表示されているタブは、そのまま使用されます。

関連する記事:

Facebookでコメント

コメント

  1. コメント 0

  1. トラックバック 0

*

return top