В связи с этим вопросом: How to change Back button text from within the child view controller? Я ищу подходящий способ обновить панель навигации после изменения названия кнопки с previousViewController.navigationItem.backBarButtonItem?.title = "New Title"
.Как правильно обновить UINavigationBar?
The (не так идеально?) Решение от связанного вопроса:
if let navigationController = self.navigationController {
navigationController.popViewControllerAnimated(false)
navigationController.pushViewController(self, animated: false)
}
Edit:
Видимо меняется кадр слоя заставляет панель навигации, чтобы обновить. (?) Не является решением, но менее дорогой обходного пути я думаю:
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)
}
Много раз, когда нет прямого способа сделать то, что вы хотите сделать, это по уважительной причине. Задняя кнопка должна вернуть пользователя туда, откуда они пришли, и их историю навигации не следует переписывать. Если вам нужно какое-то другое поведение (кроме навигации назад) в верхнем левом углу, вам не нужно использовать 'backBarButtonItem'. – nhgrif
В некоторых ситуациях изменение названия улучшает работу пользователя. Возьмем WhatsApp в качестве примера. – MJQZ1347
Предположим, я никогда не использовал WhatsApp. – nhgrif