iOS StatusBar

1、在 Info.plist 中配置 View controller-based status bar appearance = YES
2、在 RootParentViewController 重写 preferedStatusBarStyle

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}
    
override var childViewControllerForStatusBarStyle: UIViewController? {
    if /* topViewController is black style */ {
      // 子 Controller重写 preferedStatusStyle 方法
      return blackStyleController
    }
    // 使用当前 Controller 的样式,也就是 lightContent
    return nil
}

要在父 ViewController 中实现 preferredStatusBarStylechildViewController 的这个方法不会被调用

你可能感兴趣的:(iOS StatusBar)