根据标签号选择标签栏项

时间:2013-03-15 06:19:20

标签: objective-c tabs

我有一个包含7个标签栏项目的应用。在某些时候,我想以编程方式单击其中一个标签栏项目。每个标签栏项目都有唯一的标签号。我想做这样的事情:

[self.tabBarController setSelectedTag:9];或者获取标签号为9的标签栏项目的索引,以便我可以在[self.tabBarController setSelectedIndex:index]中使用它。我找不到任何解决方案。谁能帮帮我吗。

提前致谢。

1 个答案:

答案 0 :(得分:1)

只需遍历视图控制器,找到具有所需标记的控制器,然后选择它。像这样......

// find the view controller
UIViewController* viewControllerToSelect;
for(UIViewController* vc in self.tabController.viewControllers) {
  if (vc.tag == tagToFind) {
    viewControllerToSelect = vc;
    break;
  }
}

// select it
self.tabController.selectedViewController = viewControllerToSelect;

使用谓词有更优雅的搜索方式 - 但上面应该可以解决这个问题。