Для Xcode 8/IOS 10/Swift 3:
Изменения в строке состояния цвета фона временно на одной из точек зрения, добавляя цветной UIView под строкой состояния. Я помещал эти строки в viewWillAppear()
. мой оттенок белый с прозрачностью 45%, но вы можете ввести любое непрозрачное или прозрачное значение UIColor.
let statusView = UIView(frame: CGRect(x: 0, y: 0, width: self.view.bounds.width, height: 20))
statusView.backgroundColor = UIColor.white.withAlphaComponent(0.45)
self.view.addSubview(statusView)
Вы можете добавить к На начальную navigationController, вместо точки зрения, если у вас есть навигационный контроллер на представлении.
Вы также можете перейти в UIScreen.main.bounds.size.width для ширины отображаемого фонового изображения моделируемой строки состояния. Не переустанавливайте ширину, иначе она не подходит для всех устройств должным образом.
В качестве альтернативы вы также можете изменить фон состояния во всем приложении, используя этот код. имейте в виду, что если даже если он помещен в viewWillAppear()
, а не viewDidLoad()
, другие виды по-прежнему будут использовать измененную строку состояния при навигации вперед/назад.
let statWindow = UIApplication.shared.value(forKey:"statusBarWindow") as! UIView
let statusBar = statWindow.subviews[0] as UIView
statusBar.backgroundColor = UIColor.white.withAlphaComponent(0.45)
Зачем устанавливать 'Просмотр состояния панели управления на основе контроллера' на' НЕТ'? Вы уверены, что не хотите, чтобы 'YES' там, учитывая, что вы используете контроллер вида для обеспечения стиля? – Sulthan