IOS 自定义TabBarController中间按钮隐藏

2017-04-11  本文已影响0人  这是个技术难题

这是美工给的tabbar图


所以我们需要自定义一个按钮放在中间位置。这个按钮我们放在 TabBarController.view 上。


当我们进行push跳转时需要隐藏掉tabbar。

1.在跳转后界面隐藏

-(void)viewWillAppear:(BOOL)animated{

       [superviewWillAppear:YES];

       self.tabBarController.tabBar.hidden=YES;

}

2.在push跳转时需要隐藏tabBar,设置

VC(需要跳转的VC).hidesBottomBarWhenPushed=YES;

ps:第二种方法会出现某种问题,假如跳转顺序A-->B-->C-->,当A-->B隐藏掉了tabbar,B后面所有的界面tabbar都会被隐藏掉。

那么问题来了?!

当我们push跳转时可以隐藏掉tabbar,但是这个按钮却隐藏不掉,因为他写在了TabBarController上。所以就会出现这种情况

所以我们需要把tabbarcontorller设置成appdelegate的一个属性,这样随便在哪个页面都可以得到了

在tabbarcontorller.m中加入

-(void)setHidesBottomBarWhenPushed:(BOOL)hidesBottomBarWhenPushed{

         self.homeButton.hidden(自己定义的按钮)= hidesBottomBarWhenPushed;

}

跳转后的界面viewWillAppear加入

self.tabBarController.hidesBottomBarWhenPushed=YES;

这样,我们就能隐藏掉整个tabbar了。

啰啰嗦嗦写了一大堆,不知道把问题写清楚了么,希望对大家有所帮助。

上一篇下一篇

猜你喜欢

热点阅读