Это как мои контроллеры просматривать структурированы в раскадровке:Как очистить навигационный стек, чтобы кнопка «Назад» не отображалась?
navController1 -> viewController1 -> viewController2 -> viewController3
У меня есть SEGUE от viewController3
обратно viewController1
. Таким образом, когда пользователь переходит на viewContoller1
, кнопка возврата отображается на навигационной панели (как и ожидалось). Однако в моем случае я не хочу, чтобы пользователь возвращался к viewController3
, от viewController1
. Я хочу снова начать с viewController1
. Есть ли способ очистить стек после перехода на viewController1
, чтобы кнопка «Назад» не появилась?
(Обратите внимание, что navController1 не мой корневой контроллер, у меня есть некоторые другие контроллеры перед ним.)
Есть другие времена, когда мне нужна кнопка назад, чтобы отображать на контроллере вида1. Только когда я выхожу из viewcontroller3, теперь мне нужна кнопка «Назад». Могу ли я применить свой код в методе prepareForSegue в viewcontroller3? – Prabhu
Вы можете изменять стеки по своему усмотрению, когда находитесь в контроллере просмотра. Стек может быть опустошен, но также изменен (например, если у вас есть 4 контроллера вида, вы можете удалить 2 из них). Если вам нужны более сложные ситуации, вы должны начать с моего намека и попробовать. Имейте в виду, что у вас есть также 2 списка для правой и левой кнопок навигационного контроллера. Вы также можете добавлять и удалять кнопки из этих списков. – Sergiob
Спасибо. Как я могу сказать в viewController1, что я пришел из viewController3? Извините, я довольно новичок в Swift. – Prabhu