Строка состояния Цвет текста iOS 7
Я не могу изменить цвет текста в строке состояния в iOS 7 SDK. В настоящее время его черный, и я хочу, чтобы он был белым для всех контроллеров моего вида в раскадровке.
Я видел несколько вопросов о StackOverflow, например ЭТО, ЭТО и ЭТО, но они мало помогли. Также может быть из-за того, что я не могу найти UIViewControllerBasedStatusBarAppearance для YES в моем файле plist.
Может ли кто-нибудь сказать мне правильный способ установить цвет текста строки состояния в белый для всех контроллеров представления в раскадровке? Спасибо заранее!
Ответы
Ответ 1
Позвольте мне дать вам полный ответ на ваш вопрос. Изменение цвета текста в строке состояния очень просто, но его немного запутывает в iOS 7 специально для новичков.
Если вы пытаетесь изменить цвет с черного на белый в StoryBoard, выбрав контроллер вида и перейдя на Simulated Metrics с правой стороны, это не сработает, и я не знаю, почему. Он должен работать, изменяясь таким образом, но любым способом.
Во-вторых, вы не найдете свойство UIViewControllerBasedStatusBarAppearance в своем plist, но по умолчанию его не существует. Вы должны добавить его самостоятельно, нажав на кнопку +, а затем установите значение НЕТ.
![ios 7 status bar text color]()
Наконец, вам нужно перейти в файл AppDelegate.m и добавить следующее в метод didFinishLaunchingWithOptions, добавить следующую строку:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
Это изменит цвет на белый для всех ваших контроллеров. Надеюсь, это поможет!
Ответ 2
Если вы ищете UIViewControllerBasedStatusBarAppearance
, вам нужно щелкнуть маленький знак плюс, который появляется, когда вы наводите курсор на корневой элемент в вашем файле plist.
![plist file]()
Как только вы это сделаете, появится новая строка - выберите "Просмотреть строку состояния на основе контроллера" из раскрывающегося списка и установите NO
в качестве значения. (Это дружественное имя объявляется внутри UIViewControllerBasedStatusBarAppearance
)
Затем вызов следующего метода в вашем делете приложения должен установить цвет строки состояния белым для всех контроллеров представления:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
Ответ 3
Установите UIViewControllerBasedStatusBarAppearance
на YES в plist
В viewDidLoad
выполните a [self setNeedsStatusBarAppearanceUpdate];
Добавьте следующий метод:
-(UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;
}
Ответ 4
По умолчанию это YES
, поэтому вы его не увидите. Вам нужно добавить
UIViewControllerBasedStatusBarAppearance
на ваш plist и установите его на NO
.
Затем вы можете вызвать
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];