我有项目结构,如下所示。
在左侧,我有MainViewController。我有两个英语和阿拉伯语按钮。我想要做的是当我点击英文时,我想去英文标签栏控制器(HomeViewController)。
因此我写的是
- (IBAction)langEnglish:(id)sender {
HomeViewController *secondView = [self.storyboard instantiateViewControllerWithIdentifier:@"enghome"];
[self.navigationController pushViewController:secondView animated:YES];
}
这很完美,但我看不到标签栏。
此处缺少标签栏。
知道出了什么问题吗?
基本上我所拥有的是视图控制器作为主控制器,点击此控制器上的按钮后,标签视图控制器应该打开...
答案 0 :(得分:1)
转到主故事板并选择主视图控制器。在顶部选择Editor-> Embed in->导航栏。
编辑:如果这不起作用,请按到标签栏并使用此代码:
self.tabBarController.selectedIndex = 1;
答案 1 :(得分:1)
我做的是如下
- (IBAction)langEnglish:(id)sender {
EngTabViewController *secondView = [self.storyboard instantiateViewControllerWithIdentifier:@"engtab"];
[self.navigationController pushViewController:secondView animated:YES];
}
EngTabViewController是UITabBarController,我将id分配给标签栏控制器......这就像魅力......
代替viewcontorller,我使用tabbarcontroller ...
答案 2 :(得分:0)
您不应该在UINavigationController上推送UITabBarController。而是将其设置为窗口的根视图控制器,并且应该按预期显示标签栏。