自定义tabbar中怎么在push之后隐藏
2个回答
展开全部
系统自带的UITabBarController有时候到不到要求,需要自定义样式。
有一种方法就是在TabBar上面在放一层自己的,正好把原来的遮住。
那么,从Tab进入子的Controller想要隐藏TabBar怎么办呢?
假如说你是用 TabBar + Navigation来做的,从第一个Tab——TabBar1进入子Controller(称作A),
逻辑很简单,就是从TabBar1点击进入A,
你需要在TabBar1点击事件(A显示之前)加上
self.hidesBottomBarWhenPushed = YES;
然后在A的viewWillAppear中把你自己自定义,也就是覆盖在系统TabBar上面的东西隐藏;
在viewWillDisappear中再将其显示就可以了。
示例代码如下:
点击事件:
TabNoticeController *vc = [[TabNoticeController alloc] init];
self.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:vc animated:YES];
[vc release];
A中的代码:
- (void)viewWillAppear:(BOOL)animated {
[xxxTabBar setTabBarHidden:YES];
}
- (void)viewWillDisappear:(BOOL)animated {
[xxxTabBar setTabBarHidden:NO];
}
有一种方法就是在TabBar上面在放一层自己的,正好把原来的遮住。
那么,从Tab进入子的Controller想要隐藏TabBar怎么办呢?
假如说你是用 TabBar + Navigation来做的,从第一个Tab——TabBar1进入子Controller(称作A),
逻辑很简单,就是从TabBar1点击进入A,
你需要在TabBar1点击事件(A显示之前)加上
self.hidesBottomBarWhenPushed = YES;
然后在A的viewWillAppear中把你自己自定义,也就是覆盖在系统TabBar上面的东西隐藏;
在viewWillDisappear中再将其显示就可以了。
示例代码如下:
点击事件:
TabNoticeController *vc = [[TabNoticeController alloc] init];
self.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:vc animated:YES];
[vc release];
A中的代码:
- (void)viewWillAppear:(BOOL)animated {
[xxxTabBar setTabBarHidden:YES];
}
- (void)viewWillDisappear:(BOOL)animated {
[xxxTabBar setTabBarHidden:NO];
}
展开全部
如果希望push到子页面能隐藏TabBar的话,一种就是直接使用TabBar的hidden属性,还有一种是,TabBar所在的ViewConroller外面再套一个NavigationViewController,从这个NavigationViewControllerpush子界面
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询