Đây là Nguyên tắc / Hướng dẫn của Apple về thay đổi thanh trạng thái.
Đây là - Cách thay đổi kiểu thanh trạng thái:
Nếu bạn muốn đặt kiểu thanh trạng thái, cấp ứng dụng thì hãy đặt UIViewControllerBasedStatusBarAppearance
thành NO
trong tệp `.plist 'của bạn.
nếu bạn muốn đặt kiểu thanh trạng thái, ở cấp bộ điều khiển chế độ xem, hãy làm theo các bước sau:
- Đặt
UIViewControllerBasedStatusBarAppearance
thành YES
trong .plist
tệp, nếu bạn chỉ cần đặt kiểu thanh trạng thái ở cấp UIViewController.
Trong chức năng thêm viewDidLoad - setNeedsStatusBarAppearanceUpdate
ghi đè ưu tiênStatusBarStyle trong bộ điều khiển chế độ xem của bạn.
-
override func viewDidLoad() {
super.viewDidLoad()
self.setNeedsStatusBarAppearanceUpdate()
}
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
Đặt giá trị của .plist theo mức thiết lập kiểu thanh trạng thái.
Bạn có thể đặt màu nền cho thanh trạng thái trong khi khởi chạy ứng dụng hoặc trong khi xemDidLoad của bộ điều khiển chế độ xem của bạn.
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
}
}
Đây là kết quả: