Цвет шрифта строки состояния iOS7 для модального вида

Я пытаюсь изменить цвет шрифта строки состояния в одном из моих модальных представлений на белый. Другие представления должны быть белыми в делегате приложения.

Я попробовал следующий код, найденный в ответе на подобный вопрос во ViewController.

 - (UIStatusBarStyle)preferredStatusBarStyle {

    return UIStatusBarStyleLightContent;
}

но это не работает, так как шрифт по-прежнему выглядит черным.

Довольно новый для сцены iOS, пожалуйста, помогите с любыми предложениями.

2 ответа

Вам необходимо использовать текущий код в сочетании с настройкой View controller-based status bar appearance введите Info.plist для YES.

Недостающий фрагмент головоломки здесь заключается в том, что вам также нужно сказать iOS, что вы хотите обновить строку состояния с помощью этого:

- (void)setNeedsStatusBarAppearanceUpdate;

Это метод на UIViewController. Позвони в viewDidLoad как это:

- (void)viewDidLoad
{
    [self setNeedsStatusBarAppearanceUpdate];
    ...

Обратите внимание, что он работает только на iOS 7 и вызывает исключение на iOS 6 и ниже, поэтому во всех моих проектах у меня есть #define как это:

#define kIs7 ([[[UIDevice currentDevice] systemVersion] compare:@"7.0" options:NSNumericSearch] != NSOrderedAscending)

Тогда очень просто не запускать методы только для iOS 7 на iOS 6 и ниже:

if (kIs7) [self setNeedsStatusBarAppearanceUpdate];

Таким образом вы меняете цвет строки состояния на белый. Если это не работает, то, возможно, вы не включили отображение строки состояния на основе контроллера в вашем Info.plist,

Убедитесь, что вы добавили следующий ключ и установите его значение YES

View controller-based status bar appearance
Другие вопросы по тегам