들어 preferredStatusBarStyle()
내에서 작동하도록 UINavigationController
하고 UITabBarController
나는 현재 보이는 뷰 컨트롤러에서 선호하는 상태 표시 줄 스타일을 얻을 것이다 다음 코드를 추가합니다.
extension UITabBarController {
public override func childViewControllerForStatusBarStyle() -> UIViewController? {
return selectedViewController
}
}
extension UINavigationController {
public override func childViewControllerForStatusBarStyle() -> UIViewController? {
return visibleViewController
}
}
들어 스위프트 3 사람들은 방법이 있지만, 속성은 없습니다 :
extension UITabBarController {
open override var childViewControllerForStatusBarStyle: UIViewController? {
return selectedViewController
}
}
extension UINavigationController {
open override var childViewControllerForStatusBarStyle: UIViewController? {
return visibleViewController
}
}
스위프트 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
}
}