So ändern Sie die Textfarbe der Statusleiste in iOS
Meine Anwendung hat einen dunklen Hintergrund, aber in iOS 7 die Statusleiste wurde transparent. Ich kann also nichts mehr sehen, nur noch die grüne Batterieanzeige in der Ecke. Wie kann ich die Textfarbe der Statusleiste auf weiß ändern, wie sie auf dem Startbildschirm ist?
973
3
Setzen Sie die Option "UIViewControllerBasedStatusBarAppearance" in der .plist-Datei auf "JA".
In der
viewDidLoad
ein[self setNeedsStatusBarAppearanceUpdate];
durchführen.Fügen Sie die folgende Methode hinzu:
Hinweis: Dies funktioniert nicht bei Controllern innerhalb von
UINavigationController
, siehe [Tysons Kommentar unten] (https://stackoverflow.com/questions/17678881/how-to-change-status-bar-text-color-in-ios-7#comment28947732_17768797) :)Swift 3 - Dies funktioniert mit Controllern innerhalb von
UINavigationController
. Fügen Sie diesen Code in Ihren Controller ein.Swift 5 und SwiftUI
Für SwiftUI erstellen Sie eine neue Swift-Datei mit dem Namen
HostingController.swift
.Dann ändern Sie die folgenden Codezeilen in der Datei
SceneDelegate.swift
in
Dies ist in der iOS 7 UI Transition Guide dokumentiert, auf die Sie mit einer Apple-Entwickler-ID direkt zugreifen können. Der relevante Auszug:
Möglicherweise auch von Interesse:
Ich würde auf jeden Fall empfehlen, einen Blick in das Dokument zu werfen, auf das Sie wiederum mit Ihrer Apple-Entwickler-ID zugreifen können.
Dies scheint ein Problem mit dem aktuellen Build von Xcode und iOS 7 zu sein.
Einige verwandte Inhalte in den Apple-Entwicklerforen finden Sie unter Suche nach UIStatusBarStyleLightContent in "iOS 7 Beta Livability" in den Apple-Entwicklerforen* (derzeit 32 Beiträge).
Ich bin darauf gestoßen, als ich versuchte, die Light-Version einzustellen.
(Dies ist nur eine Fortsetzung von Aarons Antwort.)