Ios 单击相应按钮后如何转到选项卡栏控制器

Ios 单击相应按钮后如何转到选项卡栏控制器,ios,objective-c,uinavigationcontroller,uitabbar,Ios,Objective C,Uinavigationcontroller,Uitabbar,我有如下所示的项目结构 在左侧,我有MainViewController。我有两个按钮,英语和阿拉伯语。我想做的是,当我单击英语时,我想转到英语选项卡栏控制器(HomeViewController) 所以我写的是 - (IBAction)langEnglish:(id)sender { HomeViewController *secondView = [self.storyboard instantiateViewControllerWithIdentifier:@"enghome"]

我有如下所示的项目结构

在左侧,我有MainViewController。我有两个按钮,英语和阿拉伯语。我想做的是,当我单击英语时,我想转到英语选项卡栏控制器(HomeViewController)

所以我写的是

- (IBAction)langEnglish:(id)sender {
    HomeViewController *secondView = [self.storyboard instantiateViewControllerWithIdentifier:@"enghome"];
    [self.navigationController pushViewController:secondView animated:YES];
}
这是完美的工作,但我没有看到标签栏

此选项卡中缺少选项卡栏

知道出了什么问题吗



基本上,我拥有的是作为主控制器的视图控制器,单击此控制器上的按钮,选项卡视图控制器应打开…

转到主情节提要并选择主视图控制器。在顶部选择编辑器->嵌入->导航栏

编辑:如果不起作用,请推到选项卡栏并使用以下代码:

self.tabBarController.selectedIndex = 1;

您不应该在UINavigationController上推送UITabBarController。将其设置为窗口的根视图控制器,选项卡栏应按预期显示。

我所做的如下所示

- (IBAction)langEnglish:(id)sender {
    EngTabViewController *secondView = [self.storyboard instantiateViewControllerWithIdentifier:@"engtab"];
    [self.navigationController pushViewController:secondView animated:YES];
}
EngTabViewController是UITabBarController,我为选项卡栏控制器分配了id。。。这很有魅力


意味着我使用了tabbarcontroller而不是ViewController…

如果您看到图像,我在mainviewcontroller之前已经有了导航栏。。。关于
self.tabBarController.selectedIndex=1它在那里。。。问题是我没有看到选项卡栏…我确实理解,但第一个屏幕应该是homeviewcontroller以选择语言。。然后我将使用选项卡栏控制器…您显示的代码应该可以工作。在执行推送之前的行中,尝试记录secondView的类--NSLog(@“%@,[secondView类])。它给了我们什么?@rdelmar:我有办法。。。我很快就会发帖的。。