Строка состояния становится черной

У меня есть строка состояния со стилем 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;
}
Другие вопросы по тегам