我有一个有 7 个标签栏项目的应用程序。在某些时候,我想以编程方式单击选项卡栏项目中的 1 个。每个标签栏项目都有一个唯一的标签号。我想做这样的事情:
[self.tabBarController setSelectedTag:9];
或者获取标签号为 9 的标签栏项目的索引,以便我可以在[self.tabBarController setSelectedIndex:index]
. 我找不到任何解决方案。谁能帮帮我吗。
提前致谢。
我有一个有 7 个标签栏项目的应用程序。在某些时候,我想以编程方式单击选项卡栏项目中的 1 个。每个标签栏项目都有一个唯一的标签号。我想做这样的事情:
[self.tabBarController setSelectedTag:9];
或者获取标签号为 9 的标签栏项目的索引,以便我可以在[self.tabBarController setSelectedIndex:index]
. 我找不到任何解决方案。谁能帮帮我吗。
提前致谢。
只需遍历视图控制器以找到带有您需要的标签的控制器,然后选择它。像这样的东西...
// 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;
有更优雅的搜索方式,使用谓词 - 但上面应该可以解决问题。