UIStatusBarStyle lightContent在模块化呈现的视图控制器上不被接受

时间:2018-06-29 16:04:41

标签: ios swift swift4 uistatusbar

我正在尝试将嵌入在名为 ChildViewController

的导航控制器中的Modular Presented View Controller上的状态栏文本颜色从黑色更改为白色。

我正在使用Chameleon framework作为颜色。

我可以使用以下方法毫无问题地更改背景颜色:

guard let navBar = navigationController?.navigationBar else {fatalError("Navigation controller does not exist.")}
guard let navBarColour = UIColor(hexString: colourHexCode) else { fatalError()}

navBar.barTintColor = navBarColour
navBar.tintColor = ContrastColorOf(navBarColour, returnFlat: true)
navBar.largeTitleTextAttributes = [.foregroundColor : ContrastColorOf(navBarColour, returnFlat: true)]

我在 ChildViewController

viewWillAppearviewDidLoad中尝试了以下各项的多种组合
self.modalPresentationCapturesStatusBarAppearance = true

UIApplication.shared.statusBarStyle = .lightContent

setNeedsStatusBarAppearanceUpdate()

setStatusBarStyle(.lightContent)


override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

我什至尝试了变色龙自己的self.setStatusBarStyle(UIStatusBarStyleContrast),但同样没有任何作用。

在我的Info.plist中,我有:

View controller-based status bar appearance = YES

在“部署信息”中的“常规项目”设置中,“状态栏样式”设置为Default

使用Swift 4.1定位iOS 11.4

我在做什么错了?

0 个答案:

没有答案