我正在尝试将嵌入在名为 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
的viewWillAppear
和viewDidLoad
中尝试了以下各项的多种组合
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
我在做什么错了?