Допустим, у вас есть два контроллера ViewController, A и B, вы помещаете B в стек, когда A является самым верхним, и вы хотите настроить кнопку возврата, которая отображается, когда B находится сверху.
Как правило, способ сделать это состоит в том, чтобы установить ViewController A s navigationItem.backBarButtonItem
.
Вместо этого вам нужно дать ViewController B пользовательскийКнопка на левой стороне панели навигации, установив ее navigationItem.leftBarButtonItem
.
Этот подход хорошо реализован, за исключением того, что даже если вы не установите ViewController A 's navigationItem.backBarButtonItem
по умолчанию вы по-прежнему получаете кнопку возврата по умолчанию.Так что эта кнопка, вероятно, появляется поверх вашей пользовательской кнопки возврата.
Если вы установите ViewController B * navigationItem.hidesBackButton = YES
, то у вас не должно возникнуть никаких проблем.
И в будущем, когдаВы реализуете пользовательские кнопки возврата, вы должны сделать это, установив navigationItem.backBarButtonItem
вместо navigationItem.leftBarButtonItem
.Одна настройка, которую вам нужно будет сделать, заключается в том, что при таком подходе вы, например, используете ViewController A navigationItem
, чтобы изменить кнопку возврата, которая появляется, когда ViewController B находится на вершине.