Standarddarstellung der Navigationsleiste wiederherstellen
Ich erstelle eine iOS-App für das iPhone und verwende einen Navigationscontroller. Irgendwann während der Navigation füge ich ein @ hinUISegmentedControl
zu einem Ansichts-Controller direkt unter der Navigationsleiste des Navigations-Controllers. Ich füge neue Hintergrund- und Schattenbilder in die Navigationsleiste ein, um dasUISegmentedControl
wird als Teil der Navigationsleiste angezeigt. So mach ich es
// nav bar color image
let rect = CGRectMake(0, 0, view.frame.width, 0.5) // Used in navBar, size dosn't matter
UIGraphicsBeginImageContextWithOptions(rect.size, true, 0)
barBackgroundColor.setFill()
UIRectFill(rect)
let navBarBackground = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
// setup navbar
navigationController!.navigationBar.setBackgroundImage(navBarBackground, forBarMetrics: .Default)
navigationController!.navigationBar.shadowImage = UIImage()
navigationController!.navigationBar.tintColor = UIColor.blackColor()
navigationController!.navigationBar.translucent = false
Wenn ich mich von diesem bestimmten Ansichts-Controller entferne, wird der Hintergrund der Navigationsleiste immer noch geändert.
Wie kann ich das Erscheinungsbild der Navigationsleisten wiederherstellen?
Oder..
Gibt es eine andere Möglichkeit, das @ einzubetteUISegmentedControl
in eine erweiterte Navigationsleiste?
Bild der Navigationsleiste mit benutzerdefiniertem Hintergrund und segmentierter Steuerung unten:
Beim Zurücknavigieren ist die Navigationsleiste weiterhin benutzerdefiniert:
BEARBEITEN
Bevor ich die Hintergrundbilder ändere, versuche ich in einem Ansichtscontroller, das Standardbild zu sichern:
override func viewDidAppear(animated: Bool) {
if sharedVariables.standartNavBarBackgroundImage == nil {
let herp = navigationController!.navigationBar.backgroundImageForBarMetrics(.Default)
sharedVariables.standartNavBarBackgroundImage = herp
let derp = navigationController!.navigationBar.shadowImage
sharedVariables.standartNavBarShadowImage = derp
}
}
Beideherp
undderp
sindnil
Nach dem Einstellen ist die Navigationsleiste in diesem Moment sichtbar. Woher