Невозможно установить цвет строки состояния iOS для просмотра
Я разрабатываю приложение для iOS8, используя Swift 1.2.
Однако у меня проблема с цветом строки состояния (со временем, индикатором батареи и т. Д.).
В моем Info.plist
файл, у меня есть UIViewControllerBasedStatusBarAppearance
установлен в YES
так же как Status bar style
установлен в UIStatusBarStyleLightContent
и затем во всех моих контроллерах представления в раскадровке у меня в строке состояния установлено "Легкое содержимое".
Это работает для всех моих NavigationViewControllers
и представления, встроенные в NavigationViewControllers
однако у меня один нормальный TableViewController
который не встроен в NavigationController
и когда я нажимаю это представление модально, строка состояния меняется на ЧЕРНЫЙ!???
Даже когда я смотрю на представление в редакторе раскадровки, оно отображается в виде белой строки состояния (обратите внимание на слабый белый индикатор заряда батареи справа на скриншоте ниже):
Но когда я собираю и запускаю на своем iPhone, строка состояния отображается как черный...
Почему это? Как я могу это исправить? Я не знаю, что может быть неверным.
5 ответов
ОБНОВИТЬ:
Я нашел решение этой проблемы очень простым, из другой статьи Stackru ( Swift UIApplication.setStatusBarStyle не работает).
Для тех, кто хочет установить цвет строки состояния программным способом, я просто вставил следующий код в мой ViewController для рассматриваемого представления:
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
Пожалуйста, не забудьте добавить View controller-based status bar appearance
(UIViewControllerBasedStatusBarAppearance) со значением NO
в ваш Info.plist
Это настройки для UIStatusBar
стиль:
Идти к
AppDelegate.swift
в том, что добавить ниже строку кода вdidFinishLaunchingWithOptions
метод:UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
Добавьте ниже ключи в
.plist
файл.
- В раскадровке выберите свой контроллер
UINavigationController
или жеUIViewController
, И установить стиль строки состояния какLight Content
Для Swift 3
в вашем AppDelegate.swift
файл в функции didFinishLaunchingWithOptions
UIApplication.shared.statusBarStyle = UIStatusBarStyle.lightContent
Добавьте эту строку в свой Appdelegate.swift
файл:
UIApplication.sharedApplication().statusBarStyle = .LightContent