我有一个带有多个视图控制器的应用程序,它们是通过标签栏控制器控制的从我想要的其中一个视图控制器(单击一个按钮)上切换到另一个视图控制器并保留选项卡底部的标签栏以进行查看。
我用过
-(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中的标签栏?
答案 0 :(得分:1)
根据你的解释,我认为你不需要模态控制器。模态用于叠加,使标签栏无效。从故事板中,选择您的segue并选择推送,而不是模态。
Push vs Modal(注意标签栏):