小編給大家分享一下如何解決iOS7里導(dǎo)航控制器中子控制器設(shè)置StatusBar狀態(tài)失效的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括普蘭網(wǎng)站建設(shè)、普蘭網(wǎng)站制作、普蘭網(wǎng)頁制作以及普蘭網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,普蘭網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到普蘭省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
第一種方式:全局控制StatusBar
1. 在項(xiàng)目的Info.plist文件里設(shè)置UIViewControllerBasedStatusBarAppearance為NO。
2. 使用[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];方法設(shè)置顏色。
第二種方式:基于控制器的方式控制StatusBar
1. 在項(xiàng)目的Info.plist文件里設(shè)置UIViewControllerBasedStatusBarAppearance為YES。
2.在各個UIViewController里分別控制狀態(tài)欄的顏色和狀態(tài)。
通過在控制器里實(shí)現(xiàn)以下方法來設(shè)置狀態(tài)欄的顏色狀態(tài)
- (UIStatusBarStyle)preferredStatusBarStyle
- (BOOL)prefersStatusBarHidden
目前只有兩種顏色可選:
UIStatusBarStyleLightContent - 白色字
UIStatusBarStyleDefault - 黑色字
-------------------------
使用第二種方式的問題是,如果一個控制器在UINavigationController內(nèi),則上述的控制StatusBar的方法沒有被調(diào)用。
解決辦法:讓UINavigationController實(shí)現(xiàn)- (UIViewController *)childViewControllerForStatusBarStyle方法。將頂層的控制器返回。這樣就可以了。
可以寫一個UINavigationController的category,實(shí)現(xiàn)該方法。包含到項(xiàng)目里。
- (UIViewController *)childViewControllerForStatusBarStyle
{
return self.topViewController;
}
以上是“如何解決iOS7里導(dǎo)航控制器中子控制器設(shè)置StatusBar狀態(tài)失效的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!