web-dev-qa-db-ja.com

iOS 7のスプラッシュスクリーンでステータスバーのテキストの色を変更する

私はそれがすでにいくつかあることを知っています stackoverflowquestions すべてのView Controllerのステータスバーを変更する方法を言います。現在、ステータスバーの色を次のように変更しています。

if(IS_IOS7)
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

application:DidFinishLaunching

さらに、plistのUIViewControllerBasedStatusBarAppearanceの値をNOに変更しました。ただし、スプラッシュ画面では、ステータスバーのテキストが黒い色で表示されたままです。

スプラッシュ画面でステータスバーのテキストの色を変更することはできますか

94
Tiago Almeida

プロジェクトのplistファイルに、「ステータスバースタイル」プロパティを追加します(キーはUIStatusBarStyle)。次に、このプロパティのドロップダウンにリストされているすべての可能な値を無視し、代わりにUIStatusBarStyleLightContentと入力します。

また、plistでUIViewControllerBasedStatusBarAppearanceto NOを設定する必要はありません。ViewControllerにpreferredStatusBarStyleを設定できます。

215
Vinzzz

コードを一切書かずにこれを行うことができます
以下を実行して、アプリ全体でステータスバーのテキストを白色にします

あなたについてproject plist file:

  • ステータスバーのスタイル:UIStatusBarStyleLightContent
  • コントローラーベースのステータスバーの外観を表示:NO
  • ステータスバーは最初は非表示です:NO
32
Lucas

アプリケーション全体で明るい色のステータスバーを取得するには、次のことを実行できます。

  1. プロジェクトナビゲータでプロジェクトの名前を選択します。
  2. プロジェクトエディタの左列のリストからターゲットの名前を選択します。
  3. プロジェクトエディターの上部にある[全般]をクリックします。
  4. ステータスバーのスタイルを設定->ライト

Plistファイルに次の値を追加します。

  1. ステータスバーのスタイル-UIStatusBarStyleLightContent
  2. コントローラーベースのステータスバーの外観を表示-いいえ

これにより、SPLASH SCREENを含むアプリケーション全体で、ステータスバーを白で表示できます。

18
Anooj VM

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);
}

私のために働いたこのコードに従ってください

7

Apple Guidelines/Instruction ステータスバーの変更についてです。

ここにある-ステータスバーのスタイルを変更する方法:

ステータスバーのスタイル、アプリケーションレベルを設定する場合は、 `.plist 'ファイルでUIViewControllerBasedStatusBarAppearanceNOに設定します。

ビューコントローラーレベルでステータスバーのスタイルを設定する場合は、次の手順を実行します。

  1. UIViewControllerレベルでのみステータスバーのスタイルを設定する必要がある場合は、.plistファイルでUIViewControllerBasedStatusBarAppearanceYESに設定します。
  2. ViewDidLoadの追加機能-setNeedsStatusBarAppearanceUpdate

  3. view ControllerのpreferredStatusBarStyleをオーバーライドします。

-

override func viewDidLoad() {
    super.viewDidLoad()
    self.setNeedsStatusBarAppearanceUpdate()
}

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

ステータスバースタイルのセットアップレベルに従って.plistの値を設定します。 enter image description here


アプリケーションの起動時または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
    }

}



結果は次のとおりです。

enter image description here

2
Krunal

アプリケーション全体で明るい色のステータスバーを取得するには、次のことを実行できます。

プロジェクトナビゲータでプロジェクトの名前を選択します。プロジェクトエディタの左列のリストからターゲットの名前を選択します。プロジェクトエディターの上部にある[全般]をクリックします。ステータスバーのスタイルを設定->ライト

1
Usman Nisar