Как изменить стиль строки состояния во время запуска на iOS 7

Когда я запускаю свое приложение, он показывает изображение запуска и черную строку состояния. Как я могу изменить его, чтобы строка состояния была светлой во время запуска? Я установил внешний вид строки состояния в моем методе AppDelegate didFinishLoading, и он работает для остальной части приложения.

Ответ 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**