在開發(fā)中,經(jīng)常會遇到狀態(tài)欄上面字體顏色設置為白色的情況,系統(tǒng)默認的是黑色,發(fā)現(xiàn)只通過代碼是沒有辦法搞定的,需要在Info.plist文件中設置才可以:
第一步:在info.plist文件中添加字段UIViewControllerBasedStatusBarAppearance,設為NO
第二步:使用一句代碼就可以了
UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
如果你是設置APP中所有的界面,把這句話直接寫在AppDelegate.m的didFinishLaunchingWithOptions方法里面就可以了
如果你只是想要改變某一個界面,那你需要在改界面重寫以下兩個方法,添加一下代碼
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
}
-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
}
其他方法
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
[self setNeedsStatusBarAppearanceUpdate];
如果使用navigation導航的話,使得導航控制器不會將preferredStatusBarStyle這個方法的調用轉給它的子視圖,而是由導航控制器本身進行管理,該方法不被調用,可以使用(導航條不隱藏):
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;