Ich habe eine Navigationsleiste in einer Ansicht und möchte den Titel des Navigationselements programmgesteuert ändern.
Wie wird das gemacht?
ios
iphone
view
uinavigationbar
Doug Null
quelle
quelle
Swift 3 Version:
Wenn Sie eine Navigationsleiste ohne Navigationscontroller verwenden, können Sie Folgendes versuchen:
Hoffe auf Hilfe.
quelle
In viewDidLoad
quelle
Aus der Apple-Dokumentation :
Wenn Sie also einen UINavigationController haben, müssen Sie nur den Titel der Navigationsleiste festlegen (wie in allen vorherigen Antworten erläutert).
Wenn Sie jedoch eine eigenständige Navigationsleiste haben, die programmgesteuert in einem Objekt von UIViewController erstellt wird, müssen Sie das ursprüngliche Erscheinungsbild der Navigationsleiste festlegen, indem Sie die entsprechenden UINavigationItem-Objekte erstellen und sie dem Objektstapel der Navigationsleiste hinzufügen, d. H.
Beispiel eines Objective-C-Codes für die genannten Schritte:
Schauen Sie sich diese Antwort für die Swift-Version der eigenständigen Navigationsleiste an .
quelle
Schreiben Sie den folgenden Code in
viewDidLoad
oder möglicherweise besser unterinitWithNibName:
Vielen Dank.
quelle
Sie können auch 👇🏻 verwenden
quelle
Dieser Code hat bei mir nicht funktioniert
Aber das hat funktioniert.
quelle
In viewDidLoad Ihres UIViewControllers
oder
du kannst einfach
wird den Trick machen
Sie können die obige Anweisung auch in den App-Delegaten einfügen, um sie global zu replizieren.
quelle
Verwenden Sie es in der ViewDidLoad-Methode
Format :
Beispiel:
quelle
Sehr wichtiger Hinweis: Stellen Sie sicher, dass Sie die oben genannten Änderungen in der viewDidLoad-Methode des übergeordneten View Controllers oder in der Navigationsleiste der übergeordneten Ansicht im Storyboard vornehmen
quelle
Manchmal kann es vorkommen, dass Sie den Titel aktualisieren und dies keine Auswirkungen hat. Dies kann der Fall sein, wenn Sie eine benutzerdefinierte Ansicht für den Titel haben.
topItem
Daher möchten Sie ihn möglicherweise folgendermaßen aktualisieren:(self.navigationController?.navigationBar.topItem?.titleView as? UILabel)?.text = "My Happy New Title"
quelle