iOS狀態列(UIStatusBar)的設定
阿新 • • 發佈:2018-10-31
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; }