2015-10-13 16 views
94

Wie Statusleiste Textfarbe in iOS 9.
ändern Wie kann ich die Statusleiste Textfarbe weiß
Bitte helfen Sie mir ändern.
Vielen Dank.Ändern Statusleiste Textfarbe in iOS 9 mit Objective-C Licht

+0

sollten Sie die Statusleiste nicht anpassen. Wählen Sie einen der verfügbaren Statusleisten. Die Textfarbe sollte weiß sein, wenn die Statusleiste auf dunklem Hintergrund ist. –

+0

überprüfen Sie bitte meine Antwort und sagen Sie mir Bewertung @ Reza_darkman797 –

+2

Auf iOS9 nur das in der AppDelegate funktioniert ... '' '[[UINavigationBar Aussehen] setBarStyle: UIBarStyleBlack];' '' – Dimitris

Antwort

261

Wenn Sie reza Methode, Launch Bildschirm ist immer noch schwarz.

Diese Methode ist besser.

  1. Zum Project ->Target,

  2. Set Status Bar Style zu Light Project Setting

  3. Set View controller-based status bar appearance-NO in Info.plist.

+0

genial, danke! – sCha

+0

Das Drop-down-Menü des Status Bar Style fehlt in xcode 7.2 Wo finde ich es? –

+0

@SonicMaster Ich weiß nicht, warum du es nicht findest. Ich kann es in xcode 7.2 sehen? _? –

87

Verwenden Sie UINavigationController und setzen Sie die barStyle der Navigationsleiste auf .Black. hinter dieser Linie in Ihrer AppDelegate.m Datei.

navigationController.navigationBar.barStyle = UIBarStyleBlack; 

Wenn Sie nicht UINavigationController verwenden dann folgenden Code in Ihrer ViewController.m Datei hinzufügen.

- (UIStatusBarStyle)preferredStatusBarStyle 
{ 
    return UIStatusBarStyleLightContent; 
} 

und rufen Sie die Methode zu dieser Zeile:

[self setNeedsStatusBarAppearanceUpdate]; 
+0

Leider funktioniert nicht. –

+0

verwenden Sie den Navigationscontroller? @ reza_darkman797 –

+0

Es funktioniert perfekt mit Navbar – Aragunz

28
  1. hinzufügen Schlüssel in Ihrer info.plist Datei UIViewControllerBasedStatusBarAppearance und setzen Sie ihn auf YES.

  2. In viewDidLoad Methode Ihrer Viewcontroller einen Methodenaufruf hinzufügen:

    [self setNeedsStatusBarAppearanceUpdate]; 
    
  3. Dann die folgende Methode in viewController Datei einfügen:

    - (UIStatusBarStyle)preferredStatusBarStyle 
    { 
        return UIStatusBarStyleLightContent; 
    } 
    
+1

Das ist, was ich wollte, weil ich nur den Stil für diesen einen View-Controller ändern möchte. –

+1

Sie können den Statusleistenstil auch einfach in der ViewController-Datei .xib (d. H. Anstelle der prefferedStatusBarStyle-Methode) –

+0

für UIStatusBarStyleLightContent festlegen. Sie können Light auch auf der Registerkarte Allgemein auswählen, nachdem Sie Ihr Projekt ausgewählt haben. Kein Code erforderlich. – coolcool1994

0

iOS Statusleiste hat nur 2 Optionen (Schwarz und weiß). Sie können versuchen, diese in AppDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 
    [[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleLightContent]; 
} 
+0

'setStatusBarStyle:' ist veraltet: zuerst veraltet in iOS 9.0 - Use - [UIViewController preferredStatusBarStyle] – omega1

37

Erste

gesetzt
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

zu Ihrem AppDelegate gehen, finden die didFinishLaunchingWithOptions Methode und zu tun:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

} 

und stellen Sie dann View controller-based status bar appearance gleich NO in Kürze.

+6

Das Hinzufügen des Eintrags zum PLIST ist der wichtigste Teil dieser Antwort, ohne dass Sie dann den Stil nicht einstellen können einzelne Ansichten –

+15

setStatusBarStyle ist in iOS 9 veraltet ... – CodeSmith

+4

Seit iOS 9 ist diese Methode veraltet. Verwenden Sie die Viewcontroller-Methode statt: - (UIStatusBarStyle) preferredStatusBarStyle {return UIStatusBarStyleLightContent;} ' Sie auch diesen Schlüssel in Ihrem Info.plist hinzufügen müssen: "UIViewControllerBasedStatusBarAppearance" – Hugo

10

Fügen Sie den Schlüssel View controller-based status bar appearance in die Datei Info.plist ein und stellen Sie den booleschen Typ auf NO ein.

Einfügen einer Zeile Code in viewDidLoad (diese auf bestimmte Klasse arbeitet, wo es genannt wird)

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; 
+1

'statusBarStyle' ist readonly:' @property (readonly, nichtatomare) UIStatusBarStyle statusBarStyle' in iOS9. Und 'setStatusBarStyle' ist veraltet – zxcat