Sau khi đọc tất cả các đề xuất và thử một vài điều, tôi có thể làm cho nó hoạt động cho các trình điều khiển chế độ xem cụ thể bằng các bước sau:
Bước đầu tiên:
Mở thông tin của bạn.plist và chèn một khóa mới có tên " Xem sự xuất hiện của thanh trạng thái dựa trên bộ điều khiển " thành NO
Bước thứ hai (Chỉ cần giải thích, không cần thực hiện điều này):
Thông thường, chúng tôi đặt mã sau vào ứng dụng (phương thức _: didFinishLaunchingWithOptions :) của AppDelegate,
Swift 2
UIApplication.sharedApplication().statusBarStyle = .LightContent
Swift 3
UIApplication.shared.statusBarStyle = .lightContent
nhưng điều đó ảnh hưởng đến statusBarStyletất cả các ViewControllers.
Vì vậy, làm thế nào để làm việc này cho ViewControllers cụ thể - Bước cuối cùng:
Mở tệp điều khiển khung nhìn nơi bạn muốn thay đổi statusBarStylevà đặt đoạn mã sau vào viewWillAppear(),
Swift 2
UIApplication.sharedApplication().statusBarStyle = .LightContent
Swift 3
UIApplication.shared.statusBarStyle = .lightContent
Ngoài ra, thực hiện viewWillDisappear()phương thức cho viewContoder cụ thể đó và đặt các dòng mã sau đây,
Swift 2
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.Default
}
Swift 3
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.shared.statusBarStyle = UIStatusBarStyle.default
}
Bước này trước tiên sẽ thay đổi trình điều khiển statusBarStylekhung nhìn cụ thể và sau đó thay đổi trở lại defaultkhi trình điều khiển khung nhìn cụ thể biến mất. Không thực hiện viewWillDisappear()sẽ thay đổi statusBarStylevĩnh viễn thành giá trị được xác định mới củaUIStatusBarStyle.LightContent
Status bar is initially hidden = YEStrong tệp info.plist, "Xem thanh trạng thái dựa trên bộ điều khiển xuất hiện = NO" sẽ khiến thanh trạng thái bị ẩn.