1. 程式人生 > >修改狀態欄的文字顏色和背景色

修改狀態欄的文字顏色和背景色

res view red plist log cnblogs barh resp shared

一.修改狀態欄文字顏色

這裏修改文字顏色分兩種情況

(1)導航欄是隱藏狀態

如果導航欄為隱藏狀態 可以直接在控制器中重寫如下方法

// 重寫方法 狀態欄白色
- (UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}

這樣狀態欄的文字就可以變成白色了

(2)導航欄不是隱藏狀態

如果導航欄不是隱藏狀態 會發現方法(1)沒有作用了
這時要采用第二種方法, 一共有兩個步驟
1 -> 設置info.plist 字段 View controller-based status bar appearance 為NO (如果沒有此字段 請添加)
2 -> 在代碼中寫上如下代碼

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

如果你做了上面兩個步驟且操作沒有錯誤的話 就會發現狀態欄文字變為了白色

二.修改狀態欄背景顏色

 // 隱藏導航欄
    self.navigationController.navigationBarHidden = YES;
    // 修改狀態欄顏色
    UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow
"] valueForKey:@"statusBar"]; if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) { statusBar.backgroundColor = getColor(mainColor); }

修改狀態欄的文字顏色和背景色