TabBar隐藏显示的两种方法

假设 TabBarController 的一个 Tab View 为 Navigation View,它的 Root View Controller 是一个 Table View Controller,点击该 Tab,显示根视图(Tab Bar 显示);继续点击视图中 Table View 中的某一栏,进入子视图(Tar Bar 隐藏),点击子视图的 Navigation Bar 的返回按钮,回到根视图(Tab Bar 显示)。


方法一:Storyboard 实现

在 Storyboard 中选中子视图控制器,打开 Attribute Inspector,勾选 View Controller -> Layout -> Hide Bottom Bar on Push。大功告成!


方法二:代码实现

新建一个类 MyRootViewController,在 MyRootViewController.m 中的 viewWillAppear 方法中添加 self.tabBarController.tabBar.hidden = YES;

并且在 prepareForSegue 方法中添加 self.tabBarController.tabBar.hidden = NO;


注:

1. 不能在 的 viewDidLoad 方法中添加 self.tabBarController.tabBar.hidden = YES,这将导致返回根视图后 Tar Bar 不显示;

2. 不能在 viewWillDisappear 方法中添加 self.tabBarController.tabBar.hidden = NO,这将导致在点击别的 Tab 后 Tar Bar 隐藏。


只有理解了一个 View Controller 的 Life Cycle,才能够准确地插入合适的代码。

有时候,不断尝试也是个好办法!






你可能感兴趣的:(iOS开发)