如何在标签栏控制器中从一个视图控制器切换到另一个视图控制器并保留标签栏?

时间:2012-03-14 01:29:13

标签: ios xcode uistoryboard

我有一个带有多个视图控制器的应用程序,它们是通过标签栏控制器控制的从我想要的其中一个视图控制器(单击一个按钮)上切换到另一个视图控制器并保留选项卡底部的标签栏以进行查看。

我用过

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if ([segue.identifier isEqualToString:@"newView"]){
        UIViewController *controller =segue.destinationViewController;
        controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
        [self presentModalViewController:controller animated:YES];
    }
 }

这样可以正常工作,除了从视图到视图中缺少标签栏(占位符在故事板中显示,但在应用程序运行时它不会显示) 我也试过替换

[self presentModalViewController:controller animated:YES];

[self presentViewController:controller animated:YES completion:nil];

但这也不起作用。

一些调试显示,对于segued-to视图控制器,tabBarController属性设置为nil。

是否仍然保留了segued-to view controller中的标签栏?

1 个答案:

答案 0 :(得分:1)

根据你的解释,我认为你不需要模态控制器。模态用于叠加,使标签栏无效。从故事板中,选择您的segue并选择推送,而不是模态。

enter image description here

Push vs Modal(注意标签栏):

enter image description here enter image description here