Eine sehr wichtige Anmerkung hier - es ist viel flexibler, das Aussehen des UIViewController
's navigationItem
zu ändern als die navigationBar
direkt.
Warum fragst du?
Aus dem einfachen Grund, dass das navigationItem
an einen einzelnen UIViewController
gebunden ist und den Zustand der navigationBar
für genau diesen bestimmten UIViewController
darstellt. Das ist wichtig, da du die Navigationsleistenänderungen zwischen verschiedenen Ansichtscontrollern innerhalb von viewWillAppear
(oder ähnlichem) nicht behandeln musst, wie es der Fall wäre, wenn du die navigationBar
veränderst; die ja, erinnere dich daran, zwischen allen Ansichtscontrollern eines bestimmten Navigationsstapels (UINavigationController
) geteilt wird und eine Änderung an einer Stelle für alle Ansichtscontroller bis zum Stapel gilt.
Du setzt einfach das richtige UINavigationBarAppearance
für einen bestimmten Ansichtscontroller und UIKit wird das Erscheinungsbild der Navigationsleiste korrekt aktualisieren, je nachdem, welcher Ansichtscontroller derzeit der oberste Ansichtscontroller im Navigationsstapel ist.
navigationItem.standardAppearance` = `UINavigationBarAppearance()