Ich hatte einen übergeordneten Ansichts-Controller mit einem sehr langen Titel. Dies führte dazu, dass der Text der Zurück-Schaltfläche in den Titel des untergeordneten Ansichts-Controllers blutete.
Nachdem ich eine Reihe verschiedener Lösungen ausprobiert hatte, habe ich Folgendes getan (Erweiterung des @ john.k.doe-Ansatzes):
Verwenden von Xcode 7.2, Swift 2
- Fügen Sie im Storyboard
Navigation Item
der übergeordneten View Controller-Szene eine hinzu (nicht die untergeordnete VC).
- Geben Sie
Attributes Inspector
auf Ihrem neuen Feld Navigation Item
ein space
Zeichen ein Back Button
. Dazu später mehr.
- Fügen Sie im Controller der übergeordneten Ansicht den folgenden Code hinzu:
Ausschnitt:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
switch segue.destinationViewController {
case is ChildViewController:
navigationItem.backBarButtonItem?.title = ""
default:
navigationItem.backBarButtonItem?.title = "Full Parent Title"
}
}
Erläuterung:
Die Zurück-Schaltfläche gehört zum übergeordneten Ansichts-Controller. Das Navigation Item
gibt Ihnen ein Handle für die Zurück-Schaltfläche, sodass Sie den Titel im Code oder im Storyboard festlegen können.
Hinweis:
Wenn Sie den Navigation Item
Back Button
Text als leere Standardzeichenfolge belassen, wird der Titel der Zurück-Schaltfläche zu "Zurück".
Andere Ansätze funktionieren, warum diesen verwenden?:
Während es möglich ist, den Titel der Zurück-Schaltfläche auf dem untergeordneten Ansichts-Controller zu überschreiben, war es eine Herausforderung, ihn in den Griff zu bekommen, bis er bereits kurz auf dem Bildschirm blinkte.
Einige der Ansätze erstellen eine neue Zurück-Schaltfläche und überschreiben die vorhandene. Ich bin sicher, dass es funktioniert und wahrscheinlich in einigen Anwendungsfällen notwendig ist. Ich bevorzuge es jedoch, vorhandene APIs zu nutzen, wenn dies möglich ist.
Das Ändern title
des übergeordneten Ansichtscontrollers ist in einigen Situationen die schnellste Lösung. Dadurch wird jedoch der übergeordnete Titel geändert, sodass Sie den Status verwalten müssen. Es wird auch chaotisch mit einem, Tab Bar Controller
weil Titeländerungen Nebenwirkungen bei den Tab Bar Item
Titeln verursachen.