私はそれがすでにいくつかあることを知っています stackoverflowquestions すべてのView Controllerのステータスバーを変更する方法を言います。現在、ステータスバーの色を次のように変更しています。
if(IS_IOS7)
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
application:DidFinishLaunching
さらに、plistのUIViewControllerBasedStatusBarAppearance
の値をNO
に変更しました。ただし、スプラッシュ画面では、ステータスバーのテキストが黒い色で表示されたままです。
スプラッシュ画面でステータスバーのテキストの色を変更することはできますか?
プロジェクトのplistファイルに、「ステータスバースタイル」プロパティを追加します(キーはUIStatusBarStyle
)。次に、このプロパティのドロップダウンにリストされているすべての可能な値を無視し、代わりにUIStatusBarStyleLightContent
と入力します。
また、plistでUIViewControllerBasedStatusBarAppearance
to NO
を設定する必要はありません。ViewControllerにpreferredStatusBarStyle
を設定できます。
コードを一切書かずにこれを行うことができます
以下を実行して、アプリ全体でステータスバーのテキストを白色にします
あなたについてproject plist file:
UIStatusBarStyleLightContent
NO
NO
アプリケーション全体で明るい色のステータスバーを取得するには、次のことを実行できます。
Plistファイルに次の値を追加します。
これにより、SPLASH SCREENを含むアプリケーション全体で、ステータスバーを白で表示できます。
PlistでUIViewControllerBasedStatusBarAppearance
をNoに設定します
次に、次のコードを追加し、起動オプションを終了しました
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
[application setStatusBarStyle:UIStatusBarStyleLightContent];
self.window.clipsToBounds =YES;
self.window.frame = CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
}
私のために働いたこのコードに従ってください
Apple Guidelines/Instruction ステータスバーの変更についてです。
ここにある-ステータスバーのスタイルを変更する方法:
ステータスバーのスタイル、アプリケーションレベルを設定する場合は、 `.plist 'ファイルでUIViewControllerBasedStatusBarAppearance
をNO
に設定します。
ビューコントローラーレベルでステータスバーのスタイルを設定する場合は、次の手順を実行します。
.plist
ファイルでUIViewControllerBasedStatusBarAppearance
をYES
に設定します。ViewDidLoadの追加機能-setNeedsStatusBarAppearanceUpdate
view ControllerのpreferredStatusBarStyleをオーバーライドします。
-
override func viewDidLoad() {
super.viewDidLoad()
self.setNeedsStatusBarAppearanceUpdate()
}
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
ステータスバースタイルのセットアップレベルに従って.plistの値を設定します。
アプリケーションの起動時またはView ControllerのviewDidLoad時にステータスバーの背景色を設定できます。
extension UIApplication {
var statusBarView: UIView? {
return value(forKey: "statusBar") as? UIView
}
}
// Set upon application launch, if you've application based status bar
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
return true
}
}
or
// Set it from your view controller if you've view controller based statusbar
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
}
}
結果は次のとおりです。
アプリケーション全体で明るい色のステータスバーを取得するには、次のことを実行できます。
プロジェクトナビゲータでプロジェクトの名前を選択します。プロジェクトエディタの左列のリストからターゲットの名前を選択します。プロジェクトエディターの上部にある[全般]をクリックします。ステータスバーのスタイルを設定->ライト