首先在info.plist文件中把View controller-based status bar appearance设置为NO 要不然[UIApplicationsharedApplication].statusBarStyle = UIStatusBarStyleDefault;会不起作用
接着…….
改变文字颜色
if (@available(iOS 13.0, *)) {
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDarkContent;//文字是黑色
} else {
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;//文字黑色
}
UIStatusBarStyleLightContent 文字白色
UIStatusBarStyleDefault 默认的黑色,iOS 13以下设置 iOS 13以上设置无效要用
UIStatusBarStyleDarkContent
if (@available(iOS 13.0, *)) {
if (!_statusBar) {
// iOS 13 弃用keyWindow属性 从所有windowl数组中取
UIWindow *keyWindow = [UIApplication sharedApplication].windows[0];
_statusBar = [[UIView alloc] initWithFrame:keyWindow.windowScene.statusBarManager.statusBarFrame];
[keyWindow addSubview:_statusBar];
}
} else {
_statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
}
if ([_statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
_statusBar.backgroundColor = [UIColor blackColor];
}
这个可以改变背景颜色