1. 程式人生 > >iOS狀態列(UIStatusBar)的設定

iOS狀態列(UIStatusBar)的設定

 
UIStatusBar就是應用最上方顯示電池和時間資訊的狀態列,寬度與螢幕寬度相等,高度為20.對它的顯示控制分兩種情況,一種是程式啟動時,另一種是程式執行的時候。

1.程式啟動時。

  • 在Info.plist 中將Status bar is initially hidden(UIStatusBarHidden)對應的Value設定為Yes,程式啟動時會隱藏,反之會顯示。如果要更改它的字型顏色,在Info中將Status bar style(UIStatusBarStyle)對應的Value設定為你想要的型別(UIStatusBarStyeLightContent。)。

2.程式執行時

  • 同樣是分兩種情況,稱它為效果A和B吧,A是你所有檢視控制器的狀態列的顯示與否都是可以控制的,但樣式是不可控制的(所有檢視控制器的狀態列都是一個樣式)。B是你可以控制每個狀態列的顯示和樣式。在info.plist檔案中新增一個key值:View controller-based status bar appearance,這個key的意思就是是否讓每個控制器單獨控制自己的狀態列。
  • 如果想要A效果效果,將View controller-based status bar appearance值設定為NO,然後在檢視控制器中加入如下程式碼來控制顯示與否。       

 [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];


  • 實現B效果需要將View controller-based status bar appearance值設定為YES,然後在需要控制狀態列顯示的檢視控制器中重寫如下方法:


         

//是否顯示狀態列
-(BOOL)prefersStatusBarHidden{
    return NO;
}
//狀態列的樣式
-(UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
   
}