iOS 修改狀態欄字體顏色(親測,好用)


有時候我們需要根據不同的背景修改狀態欄字體的顏色,我的方法比較復雜,如果有更好用的方法歡迎大家提出來,我會持續更新的。
#方法一
1.首先是設置info.plist 文件:
  將View controller-based status bar appearance 的值設置為NO。
2.在AppDelegate.m 的方法中如下設置,默認會顯示黑色等於為你的app狀態欄設置一個主顏色


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//設置全局狀態欄字體顏色為黑色
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
//設置全局狀態欄字體顏色為白色
// [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

return YES;
}

3.在需要設置為白色的地方添加如下代碼:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

4.在需要變回黑色的地方添加如下代碼:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;


例如你想將一個控制器的狀態欄的字體顏色設為白色代碼如下:

#pragma mark - 設置狀態欄顏色
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;


}

-(void)viewWillDisappear:(BOOL)animated

{

[super viewWillDisappear:animated];

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;

}


這里要注意,在UITabBarController中如果選項卡每個頁面都加載出來,那么在你切換頁面時,會先調用下一個頁面的viewWillAppear方法,再調用本頁面的viewWillDisappear方法,會影響狀態欄的字體顏色改變.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM