1. 程式人生 > >iOS設定狀態列樣式,顯示控制,statusBarStyle, statusBar

iOS設定狀態列樣式,顯示控制,statusBarStyle, statusBar

滿滿的乾貨

1、在不同的應用中,有關狀態列的樣式是不定的,系統的預設樣式是黑色的,然而有一些應用是需要白色的,所以就需要進行相關的設定,設定狀態列的樣式有2種方式,下面分別講述一下。 
2、方法一:

直接在需要改變預設狀態列樣式的控制器中實現一個方法(其他任何事情都不用做):

// 返回狀態列的樣式
- (UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}
// 控制狀態列的現實與隱藏
- (BOOL)prefersStatusBarHidden{
    return YES;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

這個方法會在介面呼叫的時候實現,並且只能作用於實現此方法的當前控制器中,對其他介面的設定不產生任何影響(如果所有控制器都沒有設定,噹噹前控制器消失的時候,狀態列會恢復至系統預設的狀態)。

利用這種方式設定後,[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;這種設定方式無論在什麼地方設定都是不起作用的。

3、方法二: 
在info.plist檔案中新增一個屬性航,選中表空白地方,右鍵選中Add Row, 然後在列表中選中最後一個選項,也就是View controller-based status bar appearance,設定為No(不支援在檔案中設定狀態列樣式),然後在AppDelegate中寫上[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent,這樣的話,全域性的狀態列樣式就OK了。其他的介面如果想要改變樣式的話,直接用 
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;修改就可以了。