У мене був контролер подання батьків з дійсно довгим заголовком. Це призвело до того, що текст кнопки "назад" перетікає в заголовок дочірнього контролера.
Спробувавши купу різних рішень, це я закінчила (розширивши підхід @ john.k.doe):
Використовуючи Xcode 7.2, Swift 2
- На Дошці розкадрування додайте
Navigation Itemдо сцени контролера батьківського перегляду (не дочірнього ПК)

- На
Attributes Inspectorновому Navigation Itemвведіть у полі spaceсимвол Back Button. Детальніше про це пізніше.


- У контролер перегляду батьків виберіть наступний код:
фрагмент:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
switch segue.destinationViewController {
case is ChildViewController:
navigationItem.backBarButtonItem?.title = ""
default:
navigationItem.backBarButtonItem?.title = "Full Parent Title"
}
}
Пояснення:
Різновид назад кнопки належить батьківському контролеру подання. Navigation ItemДає вам ручку на кнопку назад, так що ви можете встановити заголовок в коді або в розкадруванні.
Примітка:
Якщо ви залишите Navigation Item Back Buttonтекст як порожній рядок за замовчуванням, назва кнопки "Назад" стане "Назад".
Інші підходи працюють, навіщо використовувати цей?
Незважаючи на те, що можна змінити назву кнопки "назад" на дочірньому контролері, це було завдання отримати ручку до неї, поки вона вже коротко не блиснула на екрані.
Деякі з підходів будують нову кнопку назад і замінюють існуючу. Я впевнений, що це працює, і, мабуть, необхідно в деяких випадках використання. Але я вважаю за краще використовувати існуючі API, коли це можливо.
Зміна titleбатьківського контролера подання - найшвидше рішення для деяких ситуацій. Однак це змінює назву батьків, тому вам доведеться керувати станом. Речі також стають безладними, Tab Bar Controllerоскільки зміни заголовка викликають побічні ефекти із Tab Bar Itemзаголовками.