Когда я запускаю свое приложение, он показывает изображение запуска и черную строку состояния. Как я могу изменить его, чтобы строка состояния была светлой во время запуска? Я установил внешний вид строки состояния в моем методе AppDelegate didFinishLoading, и он работает для остальной части приложения.
Как изменить стиль строки состояния во время запуска на iOS 7
Ответ 1
В файл Info.plist добавьте эту пару ключ-значение:
UIStatusBarStyle: UIStatusBarStyleLightContent
Значение по умолчанию (черное) UIStatusBarStyleDefault
.
Вы также можете добавить ~iphone
или ~ipad
к ключу.
Ответ 2
Есть 2 шага:
-
Обычно разработчики знают, как это сделать - в разделе "Настройки цели" > "Основные" > "Строка состояния" > "Изменить на свет". Это приведет к тому, что Info.plist включит
UIStatusBarStyleLightContent
. -
Этот шаг часто пропущен. В Info.plist добавьте
View controller-based status bar appearance
и установите значение NO
Ответ 3
Просто определите этот метод в любом представлении или файле, который вы хотите:
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
// swift
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
Ответ 4
В моем случае UIStatusBarStyleLightContent
не было возможным вариантом. Я установил Transparent black style (alpha of 0.5)
в качестве значения для ключа Status bar style
в моем .plist, и результатом была белая строка состояния.
Ответ 5
Работает на iOS7 и iOS8
Вам нужно установить в свойстве Info.plist файл для ключа
Status bar style
:
- Установите
Opaque black style
илиTransparent black style (alpha of 0.5)
для строки состояния белого - Установите
Gray style (default)
, чтобы установить цвет черной строки состояния.
Похоже, вы задали стиль фона для строки состояния, а XCode понимает, какой цвет строки состояния нужно выбрать. Темный фон - белая строка состояния, светлый фон - черная строка состояния
Ответ 6
**
- You must take care of these three things:
**
**- In info.plist file**
Set UIViewControllerBasedStatusBarAppearance to YES
**- In your view controller** in which you want change color of status bar
add this [self setNeedsStatusBarAppearanceUpdate] in viewDidLoad
**- Lastly, add this method**
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
Note: If you want to set color of statusBar for all the View Controllers then steps are
**- In info.plist file**
Set UIViewControllerBasedStatusBarAppearance to YES
**- Then add this in appDelegate**
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; // **It is deprecated in iOS 9**