同时使用UINavigationController+UITabbarController,且能够达到以下效果:
1、NavigationBar颜色无缝切换。
2、NavigationBar和TabBar无缝显示和隐藏。
3、能够自定义NavigationBar和TabBar。
1、颜色无缝切换
(1)在NavigationController中:
- (void)setUpNavbar{
[self.navigationBar setTranslucent:NO];
[self.navigationBar setShadowImage:[UIImage imageNamed:@"NavbarShadowClear.png"]];//图像为透明图像
}
(2)然后在各个页面直接设置NavBar的颜色即可实现无缝切换
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
2、NavigationBar和TabBar无缝显示和隐藏
(1)NavigationBar:
[self.navigationController setNavigationBarHidden:NO animated:YES];
[self.navigationController setNavigationBarHidden:YES animated:YES];
(2)TabBar(假设在控制器v1中要push一个控制器v2):
在v1需要push v2的地方
v2ViewController *v2 = [[v2ViewController alloc]init];
v2.hidesBottomBarWhenPushed=YES;
[self.navigationController pushViewController:v2 animated:YES];
3、自定义NavBar和TabBar
方法有很多,各举一个简单的例子
NavBar使用customView
TabBar使用自定义UIView覆盖到TabBar上面