In meiner App zu ändern habe ich 4 Viewcontroller und in zwei von ihnen, ich bin in der Statusleiste von weiß bis schwarz wie folgt zu ändern:rasche ios versuchen Farbe Statusleiste auf bestimmte VCs
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.Default
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.sharedApplication().statusBarStyle = .LightContent
}
Das Problem ist, Wenn ich zwischen zwei ViewControllern umschalte, die beide den Code über der Statusleiste haben, ändert sich zuerst die Farbe in Schwarz, was richtig ist, aber dann ändert sich die Farbe wieder in Weiß, wenn ich den anderen ViewController betrete.
Wie kann ich die Statusleiste auf bestimmten ViewControllern weiß halten?
Dies erfordert auch das Hinzufügen des 'View controller-based Statusleiste Aussehen' Schlüssel auf ein/YES in Projekt' info. plist 'Datei und erfordert möglicherweise eine benutzerdefinierte Implementierung von' - (UIViewController *) childViewControllerForStatusBarStyle; 'auf der Root-View-Controller-Unterklasse der Anwendung abhängig von der Architektur Ihrer View-Hierarchie – markedwardmurray
Das hat nicht funktioniert coz, was @markedwardmurray sagte. Aber kann ich nicht einfach '' 'override func viewWillAppear (animiert: Bool) { super.viewWillAppear (animiert) UIApplication.sharedApplication(). StatusBarStyle = UIStatusBarStyle.Default }' '' in jeder VC? – user2722667
Sie würden denken, aber es gibt eine Menge Eigenheiten mit dem Ändern des globalen Status der Statusleiste zwischen View-Controllern. Die Verwendung der View Controller-basierten Statusleiste ist zuverlässiger. In iOS 10 werden die Getter, die auf UIViewController überschrieben werden sollen, in vollständige Eigenschaften umgewandelt. Die globale Erscheinungsmethode stammt aus den Tagen, an denen erwartet wurde, dass eine Anwendung ein einzelnes Farbschema hat, entweder hell oder dunkel. Es funktioniert nicht gut, um es nach dem Start der Anwendung mit der Frequenz zu wechseln – markedwardmurray