在控制器添加如下代碼即可:
1、//隐藏狀态欄
- (BOOL)prefersStatusBarHidden
{
return YES;
}
2、單獨修改狀态欄背景顔色方法:
例如:
[self setStatusBarBackgroundColor:[UIColor whiteColor]];
- (void)setStatusBarBackgroundColor:(UIColor *)color
{
UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
if ([statusBar respondsToSelector:@selector(setBackgroundColor:)])
{
statusBar.backgroundColor = color;
}
}
全局設定狀态欄的文字顔色
3、修改狀态欄字型、電量、信号标示的顔色:在info.plist檔案中添加View controller-based status bar appearance,将其設定為no;添加Status bar style,将其可以設定為UIStatusBarStyleLightContent(代表白色)或者設定為
UIStatusBarStyleDefault
(這個預設是黑色)
代碼修改:
- 在
檔案中,實作下面方法(在其他 UIViewController 中也有效):AppDelegate
/* OC */
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
/* Swift */
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent;
4、
背景部分,簡單來說,就是狀态欄的背景顔色,其實系統狀态欄的背景顔色一直是透明的狀态,當有導航欄時,導航欄背景是什麼顔色,狀态欄就是什麼顔色,沒有導航欄時,狀态欄背後的視圖時什麼顔色,它就是什麼顔色。
/* 這個方法是設定導航欄背景顔色,狀态欄也會随之變色 */
[self.navigationController.navigationBar setBarTintColor:[UIColor redColor]];