ios - länge - title tag wordpress




Wie ändere ich die Farbe der Statusleiste in iOS 7? (20)

  1. Gehe zu Project -> Target ,

  2. Stellen Sie dann Status Bar Style auf Light . Es macht die Statusleiste vom Startbildschirm weiß.

  3. Info.plist dann die View controller-based status bar appearance in Info.plist auf NO Info.plist .

Meine Anwendung hat einen dunklen Hintergrund, aber in iOS 7 wurde die Statusleiste transparent. Da kann ich nichts sehen, nur die grüne Batterieanzeige in der Ecke. Wie kann ich die Textfarbe der Statusleiste wie im Startbildschirm ändern?


  1. UIViewControllerBasedStatusBarAppearance Sie den UIViewControllerBasedStatusBarAppearance in der .plist-Datei auf YES fest.

  2. viewDidLoad Sie in der viewDidLoad eine [self setNeedsStatusBarAppearanceUpdate];

  3. Fügen Sie die folgende Methode hinzu:

    - (UIStatusBarStyle)preferredStatusBarStyle
    { 
        return UIStatusBarStyleLightContent; 
    }
    

Hinweis : Dies funktioniert nicht für Controller innerhalb von UINavigationController , siehe Tysons Kommentar unten :)

Swift 3 - Dies wird funktionieren Controller in UINavigationController . Fügen Sie diesen Code in Ihrem Controller hinzu.

// Preferred status bar style lightContent to use on dark background.
// Swift 3
override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

Antwort aktualisiert für Xcode GM Seed:

  1. Info.plist in Info.plist den View controller-based status bar appearance NO

  2. Legen Sie im Projekt Folgendes fest:

  3. In ViewDidLoad:

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];


Der Schlüssel dafür ist, dass nur der Fullscreen-View-Controller den Stil der Statusleiste vorgibt.

Wenn Sie einen Navigationscontroller verwenden und die Statusleiste auf Basis eines einzelnen Ansichtscontrollers steuern möchten, sollten Sie UINavigationController ableiten und preferredStatusBarStyle so implementieren, dass die Voreinstellung von topViewController zurückgegeben wird.

Stellen Sie sicher, dass Sie die Klassenreferenz in Ihrer Storyboard-Szene von UINavigationController in Ihre Unterklasse ändern (z. B. MyNavigationController im Beispiel unten).

(Folgendes funktioniert für mich. Wenn Ihre App TabBar-basiert ist, sollten Sie etwas Ähnliches tun, indem Sie den UITabBarController ableiten, aber ich habe das noch nicht ausprobiert).

@interface MyNavigationController : UINavigationController

@end

@implementation MyNavigationController

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return self.topViewController.preferredStatusBarStyle;
}

@end

Dies ist im UI-Übergangsleitfaden für iOS 7 dokumentiert, für den Sie direkt auf eine Apple-Entwickler-ID zugreifen müssen. Der relevante Auszug:

Da die Statusleiste transparent ist, wird die Ansicht dahinter angezeigt. [...] Verwenden Sie eine UIStatusBarStyle Konstante, um anzugeben, ob der Inhalt der Statusleiste dunkel oder hell sein soll:

UIStatusBarStyleDefault zeigt dunklen Inhalt an. [...]

UIStatusBarStyleLightContent zeigt hellen Inhalt an. Verwenden Sie diese Option, wenn dunkler Inhalt hinter der Statusleiste angezeigt wird.

Auch möglicherweise von Interesse:

In iOS 7 können Sie den Stil der Statusleiste von einem einzelnen virtuellen Controller aus steuern und ändern, während die App ausgeführt wird. UIViewControllerBasedStatusBarAppearance Sie den UIViewControllerBasedStatusBarAppearance Schlüssel der Info.plist Datei einer Info.plist und Info.plist Sie ihm den Wert YES , um sich für dieses Verhalten zu entscheiden.

Ich würde Ihnen auf jeden Fall empfehlen, sich das Dokument anzusehen, auf das Sie wiederum mit Ihrer Apple-Entwickler-ID zugreifen können.


Einfach anrufen

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

in dem

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

Methode meiner AppDelegate funktioniert AppDelegate für mich in iOS7.


Für mich ist nichts passiert mit der Verwendung aller Dinge in den anderen Antworten (und aus anderen Quellen / Dokumentation). Was half war, den Navigationsleistenstil in der XIB auf "Schwarz" zu setzen. Dadurch wurde der Text ohne jeglichen Code in Weiß geändert.



Ich habe einige Dinge anders gemacht und es funktioniert für mich.

Ohne Änderungen im Code habe ich meine .plist Datei wie folgt konfiguriert:

  • Anzeigen der controllerbasierten Statusleiste> NO
  • Statusleistenstil> UIStatusBarStyleLightContent (einfache Zeichenfolge)

Ich hoffe, es hilft.

bearbeiten

Für jeden View-Controller ändere ich die Eigenschaft "Simulierte Metriken" der Statusleiste im Storyboard von "abgeleitete" in "Leichter Inhalt"


Ich verwende Xcode 6 Beta 5 auf einem Swift Projekt für eine iOS 7 App.

Hier ist, was ich getan habe, und es funktioniert:

info.plist:


Lassen Sie mich Ihnen eine vollständige Antwort auf Ihre Frage geben. Das Ändern der Textfarbe der Statusleiste ist sehr einfach, aber es ist ein wenig verwirrend in iOS 7 speziell für Anfänger.

Wenn Sie versuchen, die Farbe von Schwarz zu Weiß im Storyboard zu ändern, indem Sie den View-Controller auswählen und auf der rechten Seite zu Simulierte Metriken gehen, wird es nicht funktionieren und ich weiß nicht warum. Es sollte funktionieren, indem man so aber irgendwie wie ändert.

Zweitens finden Sie die UIViewControllerBasedStatusBarAppearance-Eigenschaft nicht in Ihrem Plist, aber standardmäßig nicht. Sie müssen es selbst hinzufügen, indem Sie auf die Schaltfläche + klicken und dann auf NEIN setzen.

IOS 7 Statusleiste Textfarbe

Zuletzt müssen Sie zu Ihrer AppDelegate.m-Datei gehen und die folgende Methode in der Methode didFinishLaunchingWithOptions hinzufügen:

     [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

Dadurch wird die Farbe für alle View-Controller in Weiß geändert. Hoffe das hilft!


Mit iOS 7 können einzelne View-Controller das Aussehen der Statusleiste bestimmen, wie in der Apple-Entwicklerdokumentation beschrieben:

iOS 7 gibt View Controllern die Möglichkeit, den Stil der Statusleiste anzupassen, während die App läuft. Eine gute Möglichkeit, den Statusleistenstil dynamisch zu ändern, besteht darin, setNeedsStatusBarAppearanceUpdate zu implementieren und - innerhalb eines Animationsblocks - das Erscheinungsbild der Statusleiste zu aktualisieren und setNeedsStatusBarAppearanceUpdate .

Die Darstellung der Statusleiste global ist ein zweistufiger Prozess.

Zuerst müssen Sie iOS mitteilen, dass Sie die Darstellung der Statusleiste nicht für jede einzelne Ansicht festlegen möchten.

Dann müssen Sie die Verantwortung übernehmen und den neuen globalen Statusleistenstil festlegen.

Um die Anzeige der Ansichtsleiste für die Statusleiste zu deaktivieren, müssen Sie die Eigenschaft View controller-based status bar appearance Info.plist in Info.plist .

Öffnen Sie den Projektnavigator und wählen Sie das Projekt für Ihre iOS-App aus, und wählen Sie dann die Registerkarte Info.

.plist Sie den .plist über eine Zeile und klicken Sie dann auf das Pluszeichen, das angezeigt wird, um Ihrer .plist eine neue Eigenschaft .plist .

Geben Sie View controller-based status bar appearance im Feld Schlüssel ein, und stellen Sie sicher, dass das Feld Typ auf Boolean . Schließlich geben Sie NO in das Feld Wert ein.

Um einen globalen Stil für die Statusleiste festzulegen, fügen Sie unter der Registerkarte "Info" eine weitere Eigenschaft mit einem Schlüssel des Statusleisten- Status bar style , einem Typ der String und einem Opaque black style .

Hier ist ein Blogpost mit etwas mehr Details und etwas Beispielcode:

http://codebleep.com/setting-the-status-bar-text-color-in-ios-7/


Nun, das funktioniert wirklich wie ein Stück Kuchen für mich.

info.plist Sie die info.plist Ihrer App auf.

  1. Legen Sie die View controller-based status bar appearance auf NO
  2. Setzen Sie den UIStatusBarStyleLightContent auf UIStatusBarStyleLightContent

Gehen Sie dann zum Delegaten Ihrer App und fügen Sie den folgenden Code ein, in dem Sie den RootViewController Ihres Windows-Servers festlegen.

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
{
    UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0,320, 20)];
    view.backgroundColor=[UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:1.0];
    [self.window.rootViewController.view addSubview:view];
}

Bingo. Es funktioniert für mich.


Nur zwei Schritte wie folgt:

Schritt 1:

Auf der Registerkarte Info des project target Zeile hinzufügen:

UIViewControllerBasedStatusBarAppearance , setzen Sie den Wert NO .

Schritt 2:

Im Projekt AppDelegate.m :

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

Wenn Sie über einen eingebetteten Navigationscontroller verfügen, der mit dem Interface Builder erstellt wurde, stellen Sie Folgendes in einer Klasse ein, die Ihren Navigationscontroller verwaltet:

-(UIStatusBarStyle)preferredStatusBarStyle{ 
    return UIStatusBarStyleLightContent; 
} 

Das sollte alles sein, was du brauchst.


Wenn Sie dasselbe Ergebnis mit Swift erzielen möchten, können Sie diesen Code in Ihrer AppDelegate.swift-Datei verwenden:

UINavigationBar.appearance().barStyle = .BlackTranslucent

Und der Text Ihrer Statusleiste wird weiß sein :-)!


In Swift 3 ist es sehr einfach nur mit 2 Schritten. Gehen Sie zu Ihrer Datei info.plist und ändern Sie den Schlüssel. Zeigen Sie die View controller-based status bar appearance auf "NO" an. Fügen Sie dann im Appendelegate diese Zeile in der Methode didfinishlaunchingwithoptions hinzu

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        UIApplication.shared.statusBarStyle = .lightContent
        return true
    }

Info.plist zusammen, bearbeiten Sie Ihr Projekt Info.plist und fügen Info.plist hinzu:

View controller-based status bar appearance : NO

Status bar style : Opaque black style

oder wenn Sie einen rohen Schlüssel / Wert plist haben

UIViewControllerBasedStatusBarAppearance : NO

UIStatusBarStyle : UIStatusBarStyle Opaque black style


Einfach in Appdelegate

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

Sie können dies tun, ohne eine Codezeile zu schreiben!
Führen Sie die folgenden Schritte aus, um den Text der Statusleiste über die gesamte App weiß zu machen

Auf Ihrem Projekt plist Datei:

  • Statusleiste Stil: Transparent black style (alpha of 0.5)
  • Controller-basierte Statusleiste anzeigen: NO
  • Statusleiste ist zunächst ausgeblendet: NO






uistatusbar