2016-06-03 2 views
0

У меня есть сценарий, у меня было 3 контроллера, разрешено брать A, B и C. Когда приложение запускается, я перехожу из A в C с помощью segue. Позже, в C с помощью кнопки, я снова перехожу к B с помощью segue. Итак, теперь я нахожусь в B, когда я нажимаю «Назад», он переходит на C, но он должен перейти к A.iOS Navigation Back Button

Как это возможно, любой намек/идея?

+0

Если вы двигаясь в направлении A -> C -> B, как вы думаете, можно ли «вернуться» к A из B? Oo. Вы можете пропустить контроллер C, но это не значит, что «назад» –

+0

должным образом назначил тег на ваш вопрос, на каком языке вы задаете –

+1

. Выйти [развернуть segues] (http://stackoverflow.com/questions/12561735/ what-are-unwind-segues-for-and-how-do-you-use-them) –

ответ

1

Вставьте этот код в обратную кнопку контроллера B.

for viewcontroller in self.navigationController!.viewControllers as Array { 
      if viewcontroller.isKindOfClass(HomeVC) { // change HomeVC to your viewcontroller in which you want to back. 
       self.navigationController?.popToViewController(viewcontroller as! UIViewController, animated: true) 
       break 
      } 
     } 

ИЛИ Если класс А контроллер

self.navigationController?.popToRootViewControllerAnimated(true) 
+0

Спасибо, что он работает. Вы сделали мой день. –

+0

@MaheshBabu Добро пожаловать :-) –

0

RootView Если класс А ViewController является корень, вы можете установить этот код на задней кнопки:

self.navigationController?.popToRootViewControllerAnimated(true) 
Смежные вопросы