我创建了一个标签栏应用程序,
在viewcontroller 1中单击按钮时,存在一个当前的模式视图控制器,并且使用导航控制器,我可以从模式视图导航到Viewcontroller2
我的问题是,当我导航到viewController2时,选项卡栏被隐藏了,如何显示选项卡栏?
最佳答案
如果将视图控制器推到导航控制器的堆栈上,则选项卡栏将保持不变:
[self.navigationController pushViewController:viewController2 animated:YES];
但是,如果将其呈现为模式视图控制器,则它将变为顶部/最前面的视图(以全屏显示),因此隐藏选项卡栏,直到视图控制器被关闭:
[self presentViewController:viewController2 animated:YES completion:nil];
模态视图控制器的要点是迫使用户在应用内执行任何其他操作之前先处理呈现的视图控制器。如果需要访问
viewController1
中的viewController2
,则可以在呈现视图控制器之前在viewController1 *previousViewController
中声明属性viewController2
并设置viewController2.previousViewController = self;
(在viewController1
中)。或者,您可以尝试将视图(定义框架时减去标签栏的高度)添加到标签栏控制器的视图中。