Как убрать текст кнопки назад.
Текущая кнопка возврата:
<Назад
Желаемая кнопка назад:
<AnythingElse
Ни один из них не работал:
self.navigationItem.backBarButtonItem?.title = "Back"
self.backItem?.title = ""
self.navigationController?.navigationBar.backItem?.title = ""
self.navigationItem.backBarButtonItem?.title = ""
self.navigationController?.navigationItem.backBarButtonItem?.title="Back"
self.navigationController?.navigationBar.backItem?.title = ""
self.navigationController?.navigationItem.backBarButtonItem?.title
ios
objective-c
swift
Onichan
источник
источник
title
изменений заголовка , а не только кнопки назад.Вы можете сделать это из конструктора интерфейса следующим образом:
нажмите на элемент навигации предыдущего контроллера представления
из инспектора атрибутов установите текст кнопки «Назад» на то, что вы хотите. Это оно!!
источник
Текст кнопки «Назад» берется из заголовка элемента навигации родительского view-контроллера. Таким образом, все, что вы установили в заголовке элемента навигации предыдущего view-контроллера, будет отображаться в тексте кнопки возврата текущего view-контроллера. Вы можете просто поставить "" в качестве заголовка элемента навигации в методе viewWillAppear родительского контроллера представления.
Другой способ поставить
в текущем представлении контроллера метод viewWillAppear. Это вызовет другую проблему, если стек навигации слишком вложен.
источник
prepareForSegue
, что есть. немного чище, потому что вы не изменяете новый viewController после его загрузки.Вы можете поместить эти 3 строки кода в
ViewController
что хотите изменить заголовок кнопки «Назад».По вашему
override func viewDidLoad() {}
.источник
Если вы используете файл xib для контроллера представления, сделайте это в своем классе контроллера представления.
Результат будет:
источник
Я не знаю, где вы использовали свои методы, которые вы задали для своего вопроса, но я мог бы получить желаемый результат, если бы использовал в своем
ViewController
классе (в котором я хочу изменить кнопку возврата)viewDidLoad()
следующую функцию:Результат будет:
Перед
После
источник
navigationController.navigationBar.topItem?.title = ""
вместо этого, чтобы избежать этогоviewDidAppear
Кнопка «Назад» принадлежит предыдущему контроллеру представления, а не тому, который в данный момент представлен на экране. Чтобы изменить кнопку «Назад», вы должны обновить ее перед нажатием, добавить viewdidload:
Свифт 4:
источник
Вы можете просто изменить NavigationItem в раскадровке
В кнопку «Назад» добавьте пробел и нажмите Enter.
источник
Swift 4 - настройте кнопку возврата, прежде чем нажимать какие-либо контроллеры вида
источник
Это должно работать:
Хотя это и не рекомендуется, поскольку фактически заменяет кнопку BackButton, а также убирает стрелку назад и жест смахивания.
источник
Swift 4.2
Если вы хотите изменить текст элемента кнопки «Назад» на панели навигации, поместите его в
viewDidLoad
контроллер ДО того, где отображается кнопка «Назад», а НЕ в контроллер представления, где видна кнопка «Назад».Если вы хотите изменить текущий текст заголовка панели навигации, используйте приведенный ниже код (обратите внимание, что он становится задним текстом по умолчанию для СЛЕДУЮЩЕГО представления, переданного на контроллер навигации, но этот задний текст по умолчанию может быть переопределен приведенным выше кодом)
источник
Есть два способа.
1. В предыдущем ViewController.viewDidLoad ()
2. В currentViewController.viewDidAppear ()
Причина:
backButton
происходит отnavigationBar.backItem.backBarButtonItem
, так что первый путь obvious.In currentViewController.viewDidLoad (), мы не можем получить ссылку наbackItem
, потому что в viewDidAppear (), тоnavigationBar
толкнулnavigationView
на ИТСstack
.so мы можем внести изменения вbackItem
в currentViewController. viewDidAppear ()Для более подробной информации, вы можете увидеть документ: UINavigationBar
источник
В
viewDidLoad
способе представления контроллера добавьте:источник
хотя эти ответы решают проблему, но это может быть полезным
источник
Swift 4
В то время как предыдущая поговорка «подготовиться к переходу» верна и верна, кнопка «Назад» принадлежит предыдущему VC, она просто добавляет кучу ненужного кода.
Лучше всего установить заголовок текущего VC в viewDidLoad, и он автоматически установит заголовок кнопки возврата на следующем VC. Эта линия работала для меня
источник
Это работает для Swift 5 :
Пожалуйста, обратите внимание, что это будет эффективно для следующего контроллера просмотра, а не текущего на дисплее, поэтому это очень сбивает с толку!
Также проверьте раскадровку и выберите элемент навигации предыдущего контроллера представления, затем введите что-нибудь в кнопку «Назад» (Инспектор).
источник
Попробуйте это ... это будет работать ....
Приведенный выше код скроет текст и покажет только стрелку назад на панели навигации.
источник
Установите
self.title = ""
доself.navigationController?.pushViewController(vc, animated: true)
.источник
Надеюсь, поможет!! #swift 3
источник
Если вы нажимаете контроллер представления со страницы контроллера просмотра страниц, вы не можете обновить заголовок кнопки возврата контроллера навигации. Чтобы решить эту проблему, создайте делегат обратно в ваш родительский контроллер представления (вы также можете пройти через иерархию контроллера представления обратно до родительского).
Кроме того, кнопки «Назад» имеют ограничение по количеству символов. Если вы превысите этот предел символов, система по умолчанию будет «Назад». Это не будет усекать для вас. Например:
источник
Swift 4
В моем случае решение состояло в том, чтобы очистить элемент навигации Master View Controller, прежде чем переходить к Child View Controller. И установите его снова, если он будет показан снова
MasterController
И вот как я нажимаю UIViewController и очищаю элемент кнопки задней панели в дочернем контроллере:
MasterController
источник
для Swift 4.2
источник
GOTCHA: Если у вас возникли проблемы с любым из многих снимались предложения, убедитесь , что вы зарегистрировав
UITableViewCell
с вviewDidLoad()
, а не отinit()
источник
Решение проверено и работает в Swift 5
Ниже я приведу несколько решений для разных случаев:
1. Удалить текст с кнопки назад
Лучшее решение для удаления текста с кнопки «назад» - добавить в viewDidLoad ():
2. Установить собственный текст на кнопку назад
Если вы хотите установить свой собственный заголовок, сделайте это, установив заголовок backButton:
3. Пустая кнопка возврата на всех ВК
Если вы хотите создать общий стиль во всем приложении - чтобы у вас была только стрелка назад без текста, создайте базовый VC для всех ваших контроллеров представления:
Решение, представленное выше, позволяет вам настроить кнопку «Назад» в будущем, если вы хотите сделать какое-то исключение позже, добавив дополнительную переменную и переопределив ее в определенном ViewController, f.ex:
источник
Свифт 4
есть один способ изменить текст в backButton программно из текущего viewController:
источник