我写博客基本上也算是随笔了.想到什么就写点什么.
对于导航栏.我们需要知道
- shadowImage去掉导航栏上的线.
- 设置颜色渲染颜色等需要设置NavgationBar.
这两点就OK了.
push或者是pop的时候导航栏如果有黑色的话就是window没有设置颜色.
///在didFinishLoad里面设置Window的背景色为白色.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
return YES;
}
然后在Controller里头
//显示
- (void)setNavVisible {
self.navigationController.navigationBar.backgroundColor = nil;
[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:nil];
///导航栏上面控件的渲染颜色.
// [self.navigationController.navigationBar setTintColor:nil];
///是否透明.
// self.navigationController.navigationBar.translucent = NO;
}
//透明
- (void)setNavHidden {
self.navigationController.navigationBar.backgroundColor = [UIColor clearColor];
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
///导航栏上面控件的渲染颜色.
// [self.navigationController.navigationBar setTintColor:[UIColor White]];
[self.navigationController.navigationBar setShadowImage:[UIImage new]];
// self.navigationController.navigationBar.translucent = YES;
}
使用的时候需要在ViewWillAppear或者是ViewWillDisAppear里头写
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self setNavHidden];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self setNavVisible];
}