系統自帶的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];
}