Строка состояния становится черной
У меня есть строка состояния со стилем UIStatusBarStyleLightContent
(белый текст). Но когда приложение отправляется в фоновый режим, в диспетчере задач строка состояния отображается черным текстом, и она остается черной, пока приложение снова не окажется полностью на переднем плане (оно черное в течение всей анимации переднего плана).
Я наблюдал это поведение только в iPhone 6 и iPhone 6+ (симулятор и реальное устройство). Он показывает белый (как и ожидалось) на iPhone 4s, 5 и 5s (протестировано на симуляторе)
2 ответа
Я только что нашел решение. Это ошибка, которая решается, если определены правильные заставки.
Попробуйте выполнить следующие шаги, должно работать и в iOS 8+.
1) Добавить свойство Показать внешний вид строки состояния на основе контроллера => НЕТ в Info.plist.
2) Добавьте следующий фрагмент кода в AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
[self.window setBackgroundColor:[UIColor redColor]]; // Change color as per need.
return YES;
}
3) метод переопределения в ViewController
или вы можете рассмотреть возможность переопределения в ParentViewController
из всех ViewController
если у вас есть такая иерархия наследования. В противном случае вы должны переопределить этот метод в каждом ViewController
,
- (UIStatusBarStyle) preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}