Мне нужно, чтобы определенный ViewController, встроенный в UINavigationController, имел цвет текста строки состояния (но другой ViewController, чтобы вести себя по-другому). Я знаю как минимум 3 метода, ни один из которых, однако, не работает в моем случае.
-
Как изменить цвет текста строки состояния в iOS 7, метод в первую очередь:
- Установите
UIViewControllerBasedStatusBarAppearanceнаYESв plist - В viewDidLoad сделать a
[self setNeedsStatusBarAppearanceUpdate]; -
Добавьте следующий метод:
- (UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; }
Запуск на iOS 7.0.3, этот метод не работает для меня, так как даже после того, как я выполнил все 3 шага правильно,
preferredStatusBarStyleникогда не вызывается. - Установите
-
UIStatusBarStyle PreferredStatusBarStyle не работает на iOS 7, метод в первую очередь:
Настройка
navigationBarsbarStyleнаUIBarStyleBlackTranslucentдаст белый текст строки состояния (т.е.UIStatusBarStyleLightContent), аUIBarStyleDefaultпредоставит черный текст строки состояния (т.е.UIStatusBarStyleDefault).Этот метод работает честно и квадратно на iPhone, но не на iPad.
-
Установка
UIViewControllerBasedStatusBarAppearanceвNOв plist и использование[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];Это явно не применяется в этом случае, так как мне нужно указывать только разные цвета строки состояния для двух из
ViewControllers.
Спасибо за помощь!