統一的定義導航欄的背景顏色(NavigationController)


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的統一的導航欄的顏色呀!!,希望對你有幫助。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM