In Bezug auf diese Frage: How to change Back button text from within the child view controller? Ich suche nach einer propery Weg, um die Navigationsleiste nach dem Ändern der Zurück-Schaltfläche Titel mit previousViewController.navigationItem.backBarButtonItem?.title = "New Title"
zu aktualisieren.Wie wird eine UINavigationBar richtig aktualisiert?
Die (nicht so ideal?) Lösung aus der verknüpften Frage:
if let navigationController = self.navigationController {
navigationController.popViewControllerAnimated(false)
navigationController.pushViewController(self, animated: false)
}
Edit:
Offenbar den Schichtwechselrahmen zwingt die Navigationsleiste zu aktualisieren. (?) Keine Lösung, aber eine weniger teuere Abhilfe, die ich denke:
if let navigationController = self.navigationController {
navigationController.navigationBar.layer.frame.insetInPlace(dx: 0.1, dy: 0)
navigationController.navigationBar.layer.frame.insetInPlace(dx: -0.1, dy: 0)
}
Eine Menge Zeit, wenn es nicht eine geradlinige Möglichkeit zu tun, was Sie tun möchten, ist es aus gutem Grund. Der Zurück-Knopf sollte den Benutzer dorthin zurückbringen, wo er hergekommen ist, und sein Navigationsverlauf sollte nicht neu geschrieben werden. Wenn Sie eine andere Art von Verhalten benötigen (anders als zurück zu navigieren) in der oberen linken Ecke, müssen Sie nicht das 'backBarButtonItem' verwenden. – nhgrif
In bestimmten Situationen verbessert das Ändern des Titels die Benutzerfreundlichkeit. Nehmen Sie WhatsApp als Beispiel. – MJQZ1347
Angenommen, ich habe WhatsApp noch nie benutzt. – nhgrif