Swift UIStatusBarStyle 設(shè)置

一. 設(shè)置全局控制器狀態(tài)欄樣式

1.取消控制器管理狀態(tài)欄樣式,在Supporting Files下的Info.plist添加一個(gè)屬性設(shè)置

 value: NO```

![image.png](http://upload-images.jianshu.io/upload_images/1533163-ba52dbf85ed4be15.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2.通過UIApplication來管理統(tǒng)一管理狀態(tài)欄的樣式,設(shè)置如下:
`UIApplication.shared.statusBarStyle = .lightContent`
####二. 設(shè)置局部控制器狀態(tài)欄樣式
新建項(xiàng)目默認(rèn)通過局部控制器狀態(tài)欄樣式來管理,所以info.plist不需要做任何設(shè)置
1.如果只是`UIViewController`的話,只需要重寫`preferredStatusBarStyle`方法

override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}

2.如果`UIViewController`存在`UINavigationController`,需要在自定義`NavigationController`中重寫`preferredStatusBarStyle`方法

override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}

3.如果`UIViewController`存在`UINavigationController`,又想要通過`rootViewController`來控制`UIStatusBarStyle`,則需要在自定義`NavigationController`重寫`childViewControllerForStatusBarStyle`方法

override var childViewControllerForStatusBarStyle: UIViewController?{
return self.topViewController
}

在`rootViewController`重寫`preferredStatusBarStyle`方法

override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}

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

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

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