1.今天在公司有個需求就是要求修改所有的導航欄的背景顏色,所以現在就自己寫一個自定義的NavgationController的功能。廢話不多說直接上代碼了。呵呵
2.在ZLNavigationController.m的文件的代碼:
#import "ZLNavigationController.h"
@interface ZLNavigationController ()
@end
@implementation ZLNavigationController
-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{
if (self.viewControllers.count > 0) {
viewController.hidesBottomBarWhenPushed = YES;
}
[super pushViewController:viewController animated:animated];
}
//只保證調用一次
+(void)initialize{
if (self == [ZLNavigationController class]) {
//設置所有的導航了的背景顏色
UINavigationBar *bar = [UINavigationBar appearance];
if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {
[bar setBackgroundImage:[UIImage imageNamed:@"NavBar64"] forBarMetrics:UIBarMetricsDefault];
NSDictionary *dict =@{
NSForegroundColorAttributeName:[UIColor whiteColor],
NSFontAttributeName:[UIFont systemFontOfSize:16]
};
[bar setTitleTextAttributes:dict];
//設置主題
[bar setTintColor:[UIColor whiteColor]];
}
}
這樣就可以實現了navigationController的統一的導航欄的顏色呀!!,希望對你有幫助。
