想要TabBar隐藏在页面视图控制器的几个控制器中

时间:2016-08-30 01:49:23

标签: ios objective-c

我已经在appdelegate.m中以编程方式创建了一个标签栏控制器,就像在线examples一样。
我正在设置标签栏控制器的视图控制器,如下所示 -

self.tabBarController.viewControllers = @[navigationController1, navigationController2,navigationController3,navigationController4,navigationController5];

我无法解决的问题是navigationController1本身就是一个pageViewController,它是3个视图控制器的父级。
我想隐藏这3个视图控制器中的2个的标签栏,但我无法这样做。

使用gif进行解释 - http://imgur.com/HPHfy12 - 所以在浏览器控制器的左右滑动中我想隐藏标签栏。

2 个答案:

答案 0 :(得分:1)

To hide Tabbar in a ViewController, use the following code:

-(void)viewWillAppear:(BOOL)animated{

    [super viewWillAppear:animated];

    self.tabBarController.tabBar.hidden = YES;

   }

To unhide Tabbar in a ViewController, use the following code:

 self.tabBarController.tabBar.hidden = NO;

答案 1 :(得分:1)

由于您提到您希望拥有像Instagram这样的功能,因此您应该改变您的设计方法。因为标签栏正在滑动,因此它看起来像是页面视图控制器的子项。

不要在标签栏控制器内部使用页面视图控制器,而是在页面视图控制器内部使用标签栏控制器。

所以它看起来像这样:

页面视图控制器[查看控制器1,标签栏控制器[五个导航控制器],视图控制器3]。

我很乐意看到你实施它。