天天看點

iOS更改狀态欄和導航欄的背景顔色及字型總結

一、先說改變導航欄和statusBar的背景顔色

     1.  用系統提供的方法來改變背景色及字型顔色:

         self.navigationController.navigationBar.barTintColor = [UIColor redColor];

        效果如下:

iOS更改狀态欄和導航欄的背景顔色及字型總結

     2. 設定背景圖檔:

         [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"背景圖檔"] forBarMetrics:UIBarMetricsDefault];

      效果如下:

iOS更改狀态欄和導航欄的背景顔色及字型總結

二、改變導航欄和statusBar的字型顔色 

       1. 如果想設定導航欄和狀态欄字型都是白色,隻需一行代碼:

         self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

        效果如下:

iOS更改狀态欄和導航欄的背景顔色及字型總結

      2.如果隻想改變導航欄字型顔色,同時還可以設定導航欄标題字型大小可以這樣:

     [self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor yellowColor],NSFontAttributeName:[UIFont systemFontOfSize:25]}];

     效果如下:

iOS更改狀态欄和導航欄的背景顔色及字型總結

     3.設定statusBar的字型顔色也可以通過設定plist檔案來設定:

       添加屬性View controller-based status bar appearance,設定為NO;

iOS更改狀态欄和導航欄的背景顔色及字型總結

       添加代碼:

       [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

      效果如下:

iOS更改狀态欄和導航欄的背景顔色及字型總結

PS:小女子嘗試了 - (UIStatusBarStyle)preferredStatusBarStyle 方法,plist檔案設定如下:

iOS更改狀态欄和導航欄的背景顔色及字型總結

   然而,并statusBar的字型顔色并沒有改變 ,還請各位仁兄不吝賜教