Цвет шрифта строки состояния 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