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;