Ändern der Farbe der Statusleiste in Swift 3
In XCode 7.3.x krank verändert die Hintergrundfarbe für meine StatusBar mit:
func setStatusBarBackgroundColor(color: UIColor) {
guard let statusBar = UIApplication.sharedApplication().valueForKey("statusBarWindow")?.valueForKey("statusBar") as? UIView else {
return
}
statusBar.backgroundColor = color
}
Aber es scheint, dass dies nicht mehr funktioniert mit Swift 3.0.
Krank versucht mit:
func setStatusBarBackgroundColor(color: UIColor) {
guard let statusBar = (UIApplication.shared.value(forKey: "statusBarWindow") as AnyObject).value(forKey: "statusBar") as? UIView else {
return
}
statusBar.backgroundColor = color
}
Aber es gibt mir:
this class is not key value coding-compliant for the key statusBar.
Irgendwelche Ideen, wie ändern es mit XCode8/Swift 3.0?
InformationsquelleAutor der Frage derdida | 2016-10-01
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor der Antwort Callam
"Ändern Sie" status bar background-color:
Ändern, status bar text Farbe:
Update: bitte beachten Sie, dass die status bar frame wird sich ändern, wenn die Ansicht gedreht wird. Sie aktualisieren, die erstellt Untersicht Rahmen von:
statusBarView.autoresizingMask = [.flexibleWidth, .flexibleTopMargin]
NSNotification.Name.UIApplicationWillChangeStatusBarOrientation
viewWillLayoutSubviews()
InformationsquelleAutor der Antwort Daniel Illescas
Versuchen, diese
Gehe zum app-info.plist
Dann Springen Ihre app delegate und fügen Sie den folgenden code, wo Sie Ihre Windows - RootViewController.
InformationsquelleAutor der Antwort Vipin Saini
Für iOS 11 und Xcode 9 verwenden Sie die folgenden Schritte.
erstellen Sie eine Erweiterung zu UIApplication Klasse:
extension UIApplication {
var statusBarView: UIView? {
return value(forKey: "statusBar") as? UIView
}
}
In eurer Klasse oder wo auch immer Sie wollen, ändern Sie den Status bar background-color:
UIApplication.shared.statusBarView?.backgroundColor = .red
Für leichte Inhalte oder die dunklen Inhalt der status-Leiste gehen Sie einfach auf Info.plist und fügen Sie die folgende Zeile Wert mit dem Wert KEINE.
InformationsquelleAutor der Antwort Asfand Shabbir
Für Xcode 9 und iOS-11:
Der Stil der status bar werden wir versuchen, zu erreichen, ist eine status-Leiste mit weißen Inhalt. Gehen Sie zu dem ViewController.swift-Datei und fügen Sie die folgenden Zeilen von code.
Oder von der Projekt-Einstellungen option, die Sie ändern können status-bar-style:
Als Nächstes gehen Sie zurück zu dem Storyboard, Wählen Sie den View-Controller und im Editor-Menü Wählen Sie "Einbetten" in der Navigation-Controller. Wählen Sie in der Navigationsleiste und im Attribut-Inspector setzen Sie den regler Farbton die Farbe rot. Das Storyboard wird wie folgt Aussehen.
Bauen und das Projekt Ausführen, wird der Inhalt Der status-Leiste ist wieder dunkel, das ist der Standard. Der Grund dafür ist, iOS aufgefordert, für den Stil der status-Leiste der navigation-controller, anstatt die enthaltenen view-controller.
Stil ändern, werden alle Navigations-controller in der app, ändern Sie die folgende Methode in der AppDelegate.swift-Datei.
Bauen und Führen Sie das Projekt erneut, dieses mal den Inhalt der status-Leiste weiß geändert.
InformationsquelleAutor der Antwort Jamil Hasnine Tamim
Dies funktioniert für mich, wie meine navigation barTintColor war schwarz und nicht in der Lage zu sehen, die status-bar.
Als den oben eingestellten code didFinishLaunch status-Leiste erscheint in weiß.
InformationsquelleAutor der Antwort ioSana
Können Sie festlegen, hintergrund-Farbe für die Statusleiste beim Start der Anwendung oder beim viewDidLoad Ihres view-Controllers.
Hier ist das Ergebnis:
InformationsquelleAutor der Antwort Krunal