iOS項(xiàng)目開發(fā)實(shí)戰(zhàn)--基本設(shè)置(一)UIStatusBar


  • 隱藏啟動(dòng)畫面(LaunchScreen)的狀態(tài)欄(UIStatusBar)
  • 設(shè)置UIStatusBar狀態(tài)欄顏色(UIStatusBarStyle)
  • 設(shè)置UIStatusBar狀態(tài)欄隱藏
  • 設(shè)置某個(gè)頁面狀態(tài)欄的顏色
  • 狀態(tài)欄的動(dòng)畫UIStatusBarAnimation

1. 隱藏啟動(dòng)畫面(LaunchScreen)的狀態(tài)欄(UIStatusBar)

隱藏啟動(dòng)畫面狀態(tài)欄

2. 設(shè)置UIStatusBar狀態(tài)欄顏色(UIStatusBarStyle)

  • 方法一:
    根視圖控制器實(shí)現(xiàn)方法
-(UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleLightContent;
}
  • 方法二:

(1) 如圖設(shè)置Status Bar Style


(2) info列表里添加View controller-based status bar appearance 并設(shè)置為NO

注意:
該方法設(shè)置View controller-based status bar appearance為NO后,
無法使用代碼的方式改變狀態(tài)欄顏色和是否隱藏
不能設(shè)置啟動(dòng)畫面隱藏狀態(tài)欄,否則整個(gè)項(xiàng)目的狀態(tài)欄都隱藏了

3. UIStatusBar狀態(tài)欄隱藏

方法一:

根視圖控制器實(shí)現(xiàn)方法

-(BOOL)prefersStatusBarHidden {
    return YES;
}

方法二:
(1)


(2) info列表里添加View controller-based status bar appearance 并設(shè)置為NO

注意:
該方法設(shè)置View controller-based status bar appearance為NO后,相關(guān)代碼設(shè)置不再起作用

4. 設(shè)置某個(gè)頁面狀態(tài)欄的顏色

(1)在根視圖控制器實(shí)現(xiàn)方法:

-(UIViewController *)childViewControllerForStatusBarStyle {
   return self.topViewController;
}

(2)在某個(gè)頁面實(shí)現(xiàn)方法:

-(UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleLightContent;
}

5. 狀態(tài)欄的動(dòng)畫UIStatusBarAnimation

需要將setNeedsStatusBarAppearanceUpdate方法放在UIView動(dòng)畫里

實(shí)現(xiàn)方法:

-(UIStatusBarAnimation)preferredStatusBarUpdateAnimation {
    return UIStatusBarAnimationFade;
}

動(dòng)畫代碼:

[UIView animateWithDuration:2.0 animations:^{
    [self setNeedsStatusBarAppearanceUpdate];
}];
總結(jié)

1.優(yōu)先首選的狀態(tài)欄樣式

-(UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleLightContent;
}

2.覆蓋上面優(yōu)先首選的方法

-(UIViewController *)childViewControllerForStatusBarStyle {
   return self.topViewController;
}

實(shí)現(xiàn)此方法,將會(huì)調(diào)用 self.topViewController的preferredStatusBarStyle方法
視圖控制器容器基本就是UINavigationController和UITabBarController
而發(fā)現(xiàn)在UITabBarController實(shí)現(xiàn)上邊兩個(gè)方法不起作用
所以一般是在UINavigationController里實(shí)現(xiàn)2方法,所以此處返回.topViewController

3.隱藏和覆蓋隱藏(指定調(diào)用某個(gè)頁面的隱藏方法)
prefersStatusBarHidden
方法和childViewControllerForStatusBarHidden
同上1.2.,一個(gè)是樣式,一個(gè)是隱藏

4.動(dòng)畫風(fēng)格
preferredStatusBarUpdateAnimation
方法里指定動(dòng)畫風(fēng)格

5.刷新狀態(tài)欄和動(dòng)畫刷新狀態(tài)欄
調(diào)用- setNeedsStatusBarAppearanceUpdate
方法刷新
將此方法放在動(dòng)畫代碼里即有動(dòng)畫效果

Demo請點(diǎn)擊:

GitHub上的Demo~


end~愿您有所收獲



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容