Iは、ルート・ビュー・コントローラとしてUITabBarControllerを有します。各タブには、ナビゲーションコントローラの内部に埋め込まれたビューコントローラがあります。私のナビゲーションバーは暗い色ですので、ステータスバーを.lightContentに設定する必要があります。私はまた、動的にステータスバーを非表示にする必要があります。光コンテンツに設定されたステータスバーを、動的に表示/非表示(UINavigationControllersとUITabBarController)を示し
私は「NO」の「ビュー・コントローラ・ベースのステータスバーの外観」を設定した場合、私は「.lightContent」に正しくステータスバーを設定することができますが、私は動的にステータスバーを非表示にすることはできません。
私は、「ビュー・コントローラ・ベースのステータスバーの外観を」設定するとナビゲーションバーが存在しない場合は、「YES」、ステータスバーには唯一の「.lightContent」に設定されますします。
これは私がステータスバーを表示または非表示にするには、各ビューコントローラで使用するものです。
var shouldHideStatusBar: Bool = false {
didSet { self.setNeedsStatusBarAppearanceUpdate() }
}
override var prefersStatusBarHidden: Bool { return shouldHideStatusBar }
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation { return .slide }
override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent }
私も試してみました:
navigationController .navigationBar.barStyle = .black
を?ステータスバーを.lightContentに設定するには、私が紛失しているものがなければならず、ステータスバーを動的に表示および非表示にできる必要があります。
UIApplication.shared.setStatusBarHidden(true, with: .slide)
ない理想的な、しかし作品: