我有一个带标签栏的应用,其中包含5个标签。我决定使用“主屏幕”而不是直接在第一个选项卡中打开应用程序。我的主屏幕将包含一条欢迎信息和5个按钮,可直接转到所需的标签。示例:第4个按钮将转到第4个选项卡。单击一个按钮后,永远不会再看到主屏幕。导航模式将通过标签栏。
我的主页视图控制器5按钮和对标签栏控制器的引用,通过单击按钮。选项卡栏控制器(@interface TabBar : UITabBarController <UITabBarControllerDelegate>
)控制5个选项卡启动的屏幕。出于某些原因,我无法让[self.tabBarController setSelectedIndex:3];
工作。我把它放在- (void)viewDidLoad
中,但它什么也没做。
任何人都知道为什么没有调用setSelectedItem?
编辑:看看那个问题:
self.tabBarController.selectedIndex = 1;
NSLog(@"%i", self.tabBarController.selectedIndex);
在运行时,由于NSLog,我得到0 ...为什么setter不工作?
答案 0 :(得分:1)
您可以自定义segbar到Tab Bar Controller并命名segue(例如使用&#34; yourSegueName&#34;)。
只需在所需的标签页上调用UITabBarController和setSelectedIndex:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([[segue identifier] isEqualToString:@"yourSegueName"]){
UITabBarController *destController = [segue destinationViewController];
[destController setSelectedIndex:3];
}
}