Nic*_*las 3 iphone cocoa-touch uiviewcontroller uinavigationcontroller
我遇到的问题似乎非常简单.我的应用程序有一个视图层次结构,包含一个包含UINavigationControllers的UITabBarController.当我从根导航到第二级时,我将hidesBottomBarWhenPushed设置为true,以便隐藏选项卡栏
在我的firstLevelController上:
[secondLevelController setHidesBottomBarWhenPushed:YES];
[self.navigationController pushViewController:secondLevelController animated:YES];
Run Code Online (Sandbox Code Playgroud)
之后当我推到第三级时,我再次通过在secondLevelController中执行标签栏:
[self setHidesBottomBarWhenPushed:NO];
[thirdLevelController setHidesBottomBarWhenPushed:NO];
[self.navigationController pushViewController:thirdLevelController animated:YES];
Run Code Online (Sandbox Code Playgroud)
(我知道,我不喜欢这[self setHidesBottomBarWhenPushed:NO]两种,但它不起作用......)
所以,问题在于:当我按下第三级的后退按钮并出现第二个视图时,我需要再次隐藏标签栏,但我找不到这样做的方法.
任何帮助表示赞赏
小智 12
这对我有用.
[self setHidesBottomBarWhenPushed:NO];
[thirdLevelController setHidesBottomBarWhenPushed:NO];
[self.navigationController pushViewController:thirdLevelController animated:YES];
[self setHidesBottomBarWhenPushed:YES];
Run Code Online (Sandbox Code Playgroud)
第三级控制器显示标签栏,第二级控制器在弹出第三级控制器时不显示标签栏.
在你的secondViewController上,执行:
- (BOOL) hidesBottomBarWhenPushed {
return ([self.navigationController.viewControllers lastObject] == self);
}
Run Code Online (Sandbox Code Playgroud)
这样,当您在secondViewController上时,tabbar将始终隐藏,并且它将显示在其他视图控制器上
| 归档时间: |
|
| 查看次数: |
7803 次 |
| 最近记录: |