iOSでステータスバーのテキストの色を変更する方法
2019.11.28
2019.11.28
質問内容
私のアプリケーションの背景は黒ですが、iOSではステータスバーが透明になったため、そこには何も表示されず、隅にある緑色のバッテリーインジケーターのみが表示されます。
ホーム画面にあるようにステータスバーのテキストの色を白に変更するにはどうすればよいですか?
ベストアンサー
objective-cの場合
1.plistファイルで[UIViewControllerBasedStatusBarAppearanceto」をYESを設定します。
2.「viewDidLoad」の中で「[self setNeedsStatusBarAppearanceUpdate]」を記述
3.次のメソッドを追加します。
- (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; }
Swift3の場合
「UINavigationController」の中で機能します。
// Preferred status bar style lightContent to use on dark background. // Swift 3 override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent }
Swift5とSwiftUIの場合
SwiftUIの場合、「HostingController.swift」という新しいswiftファイルを作成します。
import Foundation import UIKit import SwiftUI class HostingController: UIHostingController{ override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent } }
次に、「SceneDelegate.swift」の一部コードを変更します
window.rootViewController = UIHostingController(rootView: ContentView())
↓↓
window.rootViewController = HostingController(rootView: ContentView())
原文
https://stackoverflow.com/questions/17678881/how-to-change-status-bar-text-color-in-ios