Как изменить цвет строки состояния с помощью кнопки?
Я пытаюсь реализовать кнопку, которая меняет фон моего приложения с белого на черный вместе с цветом строки состояния. Прямо сейчас у меня есть
@IBAction func buttonTapped(_ sender: Any) {
self.view.backgroundColor = UIColor.black
UIApplication.shared.statusBarStyle = .lightContent
}
Это, кажется, не работает. Кто-нибудь знает способ изменения цвета шрифта строки состояния без перезагрузки всего представления?
1 ответ:
Если вы хотите задать стиль строки состояния, уровень приложения, то установите
UIViewControllerBasedStatusBarAppearance
вNO
в вашем файле.plist
.Если вы хотите задать стиль строки состояния, на уровне контроллера вида выполните следующие действия:
- установите
UIViewControllerBasedStatusBarAppearance
вYES
в файле.plist
, Если вам нужно задать стиль строки состояния только на уровне UIViewController.В функции viewDidLoad добавить -
setNeedsStatusBarAppearanceUpdate
Переопределить preferredStatusBarStyle в вашем представлении контроллер.
-
override func viewDidLoad() { super.viewDidLoad() self.setNeedsStatusBarAppearanceUpdate() } override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent }
Заданное значение .plist в соответствии с уровнем настройки стиля строки состояния.