IOS中有關(guān)狀態(tài)欄的設(shè)置

我們先來說一下相關(guān)的數(shù)據(jù)

View controller-based status bar appearance

在項(xiàng)目的info.plist文件里的View controller-based status bar appearance為BOOL型,默認(rèn)為YES贷帮。
當(dāng)為yes的時(shí)候关贵,VC對(duì)status bar的屬性設(shè)置的優(yōu)先級(jí)高于app,可以在各個(gè)UIViewController中控制控制狀態(tài)欄的顏色和狀態(tài)恒削;當(dāng)為NO的時(shí)候,APP對(duì)status bar的屬性設(shè)置的優(yōu)先級(jí)高于VC尾序,全局設(shè)置status tar的顏色和狀態(tài)钓丰,VC設(shè)置狀態(tài)欄preferStatusBarHidden是無效的根本不會(huì)被調(diào)用。

方法一(IOS9.0+之后不建議使用每币,可能會(huì)有警告)

設(shè)置

將info.plist中的View controller-based status bar appearance設(shè)置為NO(若沒有這個(gè)key,直接插入再設(shè)置為NO)携丁,否。
[[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent];
我們點(diǎn)進(jìn)去看api的時(shí)候發(fā)現(xiàn)如下說明

// Setting the statusBarStyle does nothing if your application is using 
//the default UIViewController-based status bar system.

@property(readwrite,nonatomic)UIStatusBarStyle statusBarStyle 
NS_DEPRECATED_IOS(2_0,9_0,"Use -[UIViewController preferredStatusBarStyle]");

- (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle animated:(BOOL)animated 
NS_DEPRECATED_IOS(2_0,9_0,"Use -[UIViewController preferredStatusBarStyle]");

方法二

設(shè)置

將info.plist中的View controller-based status bar appearance設(shè)置為YES兰怠,默認(rèn)值就是YES;如果plist中沒有這個(gè)key,該方式亦可生效梦鉴。

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

preferredStatusBarStyle

- (UIStatusBarStyle)preferredStatusBarStyle
在需要的控制器里面重寫這個(gè)方法李茫,返回值就是UIStatusBarStyleDefault、UIStatusBarStyleLightContent或者UIStatusBarStyleDarkContent肥橙。

childViewControllerForStatusBarStyle

- (UIViewController *)childViewControllerForStatusBarStyle:

If your container view controller derives its status bar style from one of its child view controllers, implement this method and return that child view controller. If you return nil or do not override this method, the status bar style for self is used.
我們可以給UINavigationController以及UITabBarController寫一個(gè)catogory,implementation如下:

//
 @implementation UINavigationController (OLStatusBarStyle)
- (UIViewController *)childViewControllerForStatusBarStyle{
  return  self.topViewController;
}
- (UIViewController *)childViewControllerForStatusBarHidden{
  return self.topViewController;
}
 @implementation UITabBarController (OLStatusBarStyle)
- (UIViewController *)childViewControllerForStatusBarStyle{
  return  self.selectedViewController;
}
- (UIViewController *)childViewControllerForStatusBarHidden{
  return self.selectedViewController;
}

擴(kuò)展中重寫了這兩個(gè)方法魄宏,意味著不再調(diào)用container(NavigationController或者UITabBarController)的preferredStatusBarStyle這個(gè)方法,而是調(diào)用self.topViewController/ self.selectedViewControlle的preferredStatusBarStyle,那么我們重寫的preferredStatusBarStyle就會(huì)被調(diào)用存筏,就能更改status bar的顏色了娜庇。

只要UIViewController重寫的childViewControllerForStatusBarStyle返回值不是nil,那么UIViewcontroller的preferredStatusBarStyle方法不會(huì)被系統(tǒng)的Container(NavigationController或者UITabBarController)調(diào)用方篮,而是調(diào)用childViewControllerForStatusBarStyle返回的UIViewController的preferredStatusBarStyle來控制StatuBar的顏色名秀。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市藕溅,隨后出現(xiàn)的幾起案子匕得,更是在濱河造成了極大的恐慌,老刑警劉巖巾表,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汁掠,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡集币,警方通過查閱死者的電腦和手機(jī)考阱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鞠苟,“玉大人乞榨,你說我怎么就攤上這事〉庇椋” “怎么了吃既?”我有些...
    開封第一講書人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長跨细。 經(jīng)常有香客問我鹦倚,道長,這世上最難降的妖魔是什么冀惭? 我笑而不...
    開封第一講書人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任震叙,我火速辦了婚禮,結(jié)果婚禮上散休,老公的妹妹穿的比我還像新娘媒楼。我一直安慰自己,他們只是感情好溃槐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開白布匣砖。 她就那樣靜靜地躺著,像睡著了一般昏滴。 火紅的嫁衣襯著肌膚如雪猴鲫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評(píng)論 1 299
  • 那天谣殊,我揣著相機(jī)與錄音拂共,去河邊找鬼。 笑死姻几,一個(gè)胖子當(dāng)著我的面吹牛宜狐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蛇捌,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼抚恒,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了络拌?” 一聲冷哼從身側(cè)響起俭驮,我...
    開封第一講書人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎春贸,沒想到半個(gè)月后混萝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡萍恕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年逸嘀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片允粤。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡崭倘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出类垫,到底是詐尸還是另有隱情绳姨,我是刑警寧澤,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布阔挠,位于F島的核電站飘庄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏购撼。R本人自食惡果不足惜跪削,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望迂求。 院中可真熱鬧碾盐,春花似錦、人聲如沸揩局。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至付枫,卻和暖如春烹玉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阐滩。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來泰國打工二打, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人掂榔。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓继效,卻偏偏與公主長得像,于是被迫代替她去往敵國和親装获。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瑞信,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354