Подтвердить что ты не робот

UIStatusBarStyle изменяется после отображения UIWindow над UIStatusBar

Я показываю UIWindow над UIStatusBar, по умолчанию UIStatusBarStyle установлен на UIStatusBarStyleLightContent, но когда я показываю UIWindow, UIStatusBarStyle переключается в черный стиль.

4b9b3361

Ответ 1

Я столкнулся с этой темой, борясь с той же проблемой. Что вам нужно сделать, так это создать новый контроллер представления и установить его как контроллер корневого представления вашего UIWindow (то есть UIWindow, который вы показываете над другим видом). Затем в этом новом контроллере представления реализуем метод preferredStatusBarStyle следующим образом:

- (UIStatusBarStyle) preferredStatusBarStyle {
    return UIStatusBarStyleLightContent;
}

В качестве альтернативы вы можете установить свойство View View на панели управления View View в Info.plist равным NO и внедрить метод [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent], предложенный Azabella. Однако это приведет к тому, что строка состояния всех ваших просмотров станет белой. Если это не проблема, тогда нет необходимости создавать отдельный контроллер просмотра только для установки метода preferredStatusBarStyle.

Ответ 2

Вы установили свойство View View на панели управления View View в свой файлAppName-Info.plist равным NO?

Ответ 3

Добавьте это так, когда появится представление, оно установит цвет/стиль

-(void)viewDidAppear:(BOOL)animated {

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
}

Ответ 4

Это была довольно тривиальная проблема, и я решил, что для параметра modalPresentationCapturesStatusBarAppearance установлено modalPresentationCapturesStatusBarAppearance true.