所以我的标签栏控制器中有2个标签。
我在Tab 2中有一个按钮,如果我点击它,控件需要传递给Tab 1,它应该成为当前的视图控制器。
//I should not use navigation for this because the view would navigate
the present view to the view in tab 1 ; but the tab will still indicate Tab 2//
当我点击按钮时,我只需要它转到标签1。
答案 0 :(得分:2)
您可以设置UITabBarController的selectedIndex
或selectedViewController
属性,以编程方式更改当前标签。
答案 1 :(得分:2)
当您点击该按钮时,只需让它发送以下内容
self.tabBarController.selectedIndex = 0;
这将告诉它切换到索引中的第一个标签(标签1)
如果要为更改添加动画,则使用transitionFromView:toView:duration:options:completion:
。要实现这一点,你将使用这样的东西:
[UIView transitionFromView:self.view
toView:[[self.tabBarController.viewControllers objectAtIndex:0] view]
duration:1 /*or whatever time you want*/
options:/*specify your animation transition here, they are found in the UIView documentation*/
completion:(void (^)(BOOL finished))completion:^(BOOL finished) {
if (finished) {
tabBarController.selectedIndex = 0;
}
}];
这些选项可让您控制它的转换方式,并且有一个很好的列表,列出了您可以执行的所有操作。然后,完成块允许您指定完成后要执行的操作。在这种情况下,它将切换到选项卡1,因此它是新的主控制器
答案 2 :(得分:1)
您是否可以在UITabBarController上设置selectedIndex属性?