Ось рекомендації Apple / Інструкція щодо зміни рядка стану.
Ось - Як змінити стиль рядка стану:
Якщо ви хочете , щоб стиль набору статусу бару, рівень додатків , а потім встановити UIViewControllerBasedStatusBarAppearance
в NO
вашій .plist »файла`.
якщо ви хочете встановити стиль рядка стану, на рівні контролера перегляду виконайте наступні дії:
- Встановіть
UIViewControllerBasedStatusBarAppearance
в YES
в .plist
файлі, якщо вам необхідно встановити стиль статус бар тільки на рівні UIViewController.
У функції viewDidLoad add - setNeedsStatusBarAppearanceUpdate
змінити перевагуStatusBarStyle у контролері перегляду.
-
override func viewDidLoad() {
super.viewDidLoad()
self.setNeedsStatusBarAppearanceUpdate()
}
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
Встановіть значення .plist відповідно до рівня налаштування стилю рядка стану.
Ви можете встановити колір тла для рядка стану під час запуску програми або під час viewDidLoad контролера перегляду.
extension UIApplication {
var statusBarView: UIView? {
return value(forKey: "statusBar") as? UIView
}
}
// Set upon application launch, if you've application based status bar
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
return true
}
}
or
// Set it from your view controller if you've view controller based statusbar
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
}
}
Ось результат: