- (void) viewWillDisappear:(BOOL)animated {
self.hidesBottomBarWhenPushed = NO;
}
- (void)viewWillAppear:(BOOL)animated {
self.hidesBottomBarWhenPushed = YES;
}
注意这个属性
翻译一下就是, “跳下一界面时,分栏控制器是否隐藏”
系统自带的UITabBarController有时候到不到要求,需要自定义样式。
有一种方法就是在TabBar上面在放一层自己的,正好把原来的遮住。
那么,从Tab进入子的Controller想要隐藏TabBar怎么办呢?
假如说你是用 TabBar + Navigation来做的,从第一个Tab——TabBar1进入子Controller(称作A),
逻辑很简单,就是从TabBar1点击进入A,
你需要在TabBar1点击事件(A显示之前)加上
self.hidesBottomBarWhenPushed = YES;
然后在A的viewWillAppear中把你自己自定义,也就是覆盖在系统TabBar上面的东西隐藏;
在viewWillDisappear中再将其显示就可以了
作者:想北飞的雁
来源:优快云
原文:https://blog.youkuaiyun.com/heyddo/article/details/9704689
版权声明:本文为博主原创文章,转载请附上博文链接!
找到了更简单方法,上面方法存在bug
//导航模拟器按钮事件触发
- (void)pressBtn1 {
NSLog(@"按了");
VCUINivigation01 * view01 = [[VCUINivigation01 alloc] init];
view01.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:view01 animated:YES];
}
- (void)pressBtn2 {
NSLog(@"按了");
VCNivigation02 * view02 = [[VCNivigation02 alloc] init];
view02.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:view02 animated:YES];
}
导航栏黑线隐藏
- (void)viewWillAppear:(BOOL)animated {
NSString *str = @"kongbai.png";
UIImage *image = [UIImage imageNamed:str];
[self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[UIImage new]];
}
图片用一张纯白的图片