Мне нужно, чтобы определенный 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, метод в первую очередь:
Настройка
navigationBar
sbarStyle
наUIBarStyleBlackTranslucent
даст белый текст строки состояния (т.е.UIStatusBarStyleLightContent
), аUIBarStyleDefault
предоставит черный текст строки состояния (т.е.UIStatusBarStyleDefault
).Этот метод работает честно и квадратно на iPhone, но не на iPad.
-
Установка
UIViewControllerBasedStatusBarAppearance
вNO
в plist и использование[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
Это явно не применяется в этом случае, так как мне нужно указывать только разные цвета строки состояния для двух из
ViewController
s.
Спасибо за помощь!