Кнопочный навигационный контроллер без заголовка на кнопке «Назад» - PullRequest
0 голосов
/ 08 мая 2018

В настоящее время у меня есть контроллер вида A и контроллер вида B.

View Controller A помещает vc B на его навигационный контроллер нажатием кнопки:

navigationController?.pushViewController(viewControllerB, animated: true)

VC A имеет панель навигации с заголовком «View Controller A Title»

I хочу, чтобы VC B имел левую кнопку, которая является кнопкой возврата, и заголовок "View Controller B Title"

В настоящее время, когда я нажимаю VC B на навигационном контроллере, название VC A идет вместе с ним на стрелке влево назад, поэтому оно выглядит как

< View Controller A Title View Controller B Title

Как мне избавиться от VC A Title?

Я попытался установить элемент кнопки левой панели, элемент кнопки задней панели, но безуспешно.

Единственный способ удалить этот заголовок - сделать

navigationController?.navigationBar.items?.forEach({ $0.title = "" }) внутри viewDidLoad VC B, но затем, когда я нажимаю стрелку назад, заголовок, конечно, отсутствует в VC A

Единственное решение, которое я нашел для этого решения, перечисленного выше, - это установить navigationItem.title в viewDidAppear VC A, но задержка заголовка на самом деле составляет около 1/2 секунды, что не идеально .

Есть ли лучший способ не использовать этот заголовок вместе с элементом левой панели навигации?

Заранее спасибо!

1 Ответ

0 голосов
/ 08 мая 2018

В View Controller A просто установите backBarButtonItem.

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