TabBarController里面的子界面VC1再套NavgationController,当VC1 push VC2下去的时候,一般情况是VC2界面Tabbar还在,这种情况都不是一般APP需求的。
解决Tabbar隐藏办法 (以前工作隐藏各种frame处理,最后还是解决了,但是代码变得很垃圾,一点都不高端)
VC.hidesBottomBarWhenPushed = YES;这个完美解决
使用方法与情况:
1.
情况:如果是sb连线,vc1界面的逻辑代码只push一些简单界面(这些界面也没有与其他的TabBarController子界面有关系)
解决:只是要再sb里面push目标的界面的属性面板打上钩钩Hide Bottom Bar On Push。
2.
情况:vc1界面的逻辑代码只push许多界面(这些界面也与其他的TabBarController子界面有关系,或者push一些不需要sb的界面(纯代码或者xib界面))
解决:
(1)sb连线push的是这样子弄
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"HomeListCellSB"]) {
LeaveAMessage *secondDetailVC=(LeaveAMessage *)segue.destinationViewController;
secondDetailVC.hidesBottomBarWhenPushed = YES;//就是这么简单解决,不要怀疑
}
}
(2)代码push的是这样子弄
twoTb.hidesBottomBarWhenPushed = YES;//代码push就是这样子弄,也是这么简单
[self.navigationController pushViewController:twoTb animated:YES];
[segue.destinationViewController setHidesBottomBarWhenPushed:YES];
}
解决Tabbar隐藏办法 (以前工作隐藏各种frame处理,最后还是解决了,但是代码变得很垃圾,一点都不高端)
VC.hidesBottomBarWhenPushed = YES;这个完美解决
使用方法与情况:
1.
情况:如果是sb连线,vc1界面的逻辑代码只push一些简单界面(这些界面也没有与其他的TabBarController子界面有关系)
解决:只是要再sb里面push目标的界面的属性面板打上钩钩Hide Bottom Bar On Push。
2.
情况:vc1界面的逻辑代码只push许多界面(这些界面也与其他的TabBarController子界面有关系,或者push一些不需要sb的界面(纯代码或者xib界面))
解决:
(1)sb连线push的是这样子弄
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"HomeListCellSB"]) {
LeaveAMessage *secondDetailVC=(LeaveAMessage *)segue.destinationViewController;
secondDetailVC.hidesBottomBarWhenPushed = YES;//就是这么简单解决,不要怀疑
}
}
(2)代码push的是这样子弄
twoTb.hidesBottomBarWhenPushed = YES;//代码push就是这样子弄,也是这么简单
[self.navigationController pushViewController:twoTb animated:YES];
(3)sb中
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
[segue.destinationViewController setHidesBottomBarWhenPushed:YES];
}
是push的目标界面使用这个属性
目前只用到了这3种用法