В заголовке кнопки возврата контроллера UINavigation отображается предыдущий заголовок - PullRequest
0 голосов
/ 30 августа 2018

Я бы хотел установить для кнопки «Назад» только «Назад». Я установил заголовок «Назад» в раскадровке (Элемент навигации -> Кнопка «Назад»), и он, похоже, работает на iPhone X.

При тестировании на iPhone SE предыдущий заголовок VC отображается как заголовок кнопки «Назад». Так что теперь он выглядит как «

Это имело бы смысл, если бы iPhone X отображал его, как указано выше, поскольку ширина экрана больше, поэтому у него больше места для более длинного заголовка.

Что я мог сделать, чтобы сделать эту работу? Я уже пробовал некоторые вещи, такие как: Подкласс UINavigation контроллера и добавить:

self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: nil, action: nil)

Сделайте то же самое, но прямо в контроллерах вида.

Добавьте пробелы вокруг заголовка View Controller, чтобы сделать его длиннее (не работает, и если это сработало, то немного хакерски).

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Ваш код для установки backBarButtonItem в порядке, но вы устанавливаете его на неправильном контроллере вида.

Если у вас есть 2 контроллера представления VCA и VCB, и VCA помещает VCB в стек навигации навигационного контроллера, вам нужно установить backBarButtonItem в VCA, прежде чем нажимать на VCB. Вы можете сделать это в вашем viewDidLoad методе

class VCA: UIViewController {
    func viewDidLoad() {
        super.viewDidLoad()

        navigationItem.backBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: nil, action: nil)
    }
}
0 голосов
/ 30 августа 2018

Чтобы изменить кнопку возврата, вы должны обновить ее перед нажатием на контроллере представления, который инициировал переход:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let backItem = UIBarButtonItem()
    backItem.title = "Back"
    navigationItem.backBarButtonItem = backItem // This will show in the next view controller being pushed
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...