สำหรับpreferredStatusBarStyle()
การทำงานภายในUINavigationController
และUITabBarController
ฉันจะเพิ่มรหัสต่อไปนี้ซึ่งจะได้รับรูปแบบแถบสถานะที่ต้องการจากตัวควบคุมมุมมองที่มองเห็นได้ในขณะนี้
extension UITabBarController {
public override func childViewControllerForStatusBarStyle() -> UIViewController? {
return selectedViewController
}
}
extension UINavigationController {
public override func childViewControllerForStatusBarStyle() -> UIViewController? {
return visibleViewController
}
}
สำหรับSwift 3นั้นไม่ใช่วิธีการ แต่เป็นคุณสมบัติ:
extension UITabBarController {
open override var childViewControllerForStatusBarStyle: UIViewController? {
return selectedViewController
}
}
extension UINavigationController {
open override var childViewControllerForStatusBarStyle: UIViewController? {
return visibleViewController
}
}
Swift 4.2คุณสมบัติได้รับการเปลี่ยนชื่อ:
extension UITabBarController {
open override var childForStatusBarStyle: UIViewController? {
return selectedViewController
}
}
extension UINavigationController {
open override var childForStatusBarStyle: UIViewController? {
return visibleViewController
}
}
การใช้งาน
class ViewController: UIViewController {
// This will be called every time the ViewController appears
// Works great for pushing & popping
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}