2012-07-03 2 views
0

Как преобразовать это для UIViewController это возможно:UINavigationController в UIViewController сложности

for (UIViewController *tmpController in [self.navigationController viewControllers]) 
{ 
    if ([tmpController isKindOfClass:[RootViewController class]]) 
    { 
     [self.navigationController popToViewController:tmpController animated:YES]; 
     break; 
    } 
} 

[self.navigationController viewControllers] -> как преобразовать это для UIViewController, потому что у меня ошибка,

[self.navigationController popToViewController:tmpController animated:YES]; -> в то время как эта часть i преобразует его в это ->[self dismissModalViewControllerAnimated:YES];

+0

Какой вопрос, пожалуйста, более ясно –

+0

преобразовать это для ViewController, это за право навигации контроллера? – Bazinga

+0

Этот код выглядит правильно. – Alexander

ответ

1

Если у вас есть ViewController А что представлено ViewController B, представившей ViewController C

И вы хотите, чтобы вернуться к A, выполните следующие действия, в ViewController C

[self dismissModalViewControllerAnimated:NO]; 
[[self presentingViewController] dismissModalViewControllerAnimated:NO]; 
+0

не работает сэр, только для просмотра Б. – Bazinga

+0

Спасибо, босс, я заставляю его работать с вашим кодом. – Bazinga

+0

добро пожаловать, пожалуйста, помогите :) –

0

Вы можете получить иерархию представлений следующим образом:

for(UIView *view in [self.view subviews]) 
+0

Я думаю, что это не сработает. – Bazinga

0

Из Комментарии выше, я чувствую, как вы представляете контроллеры, как от А к В и от В до С.

Теперь вы хотите сделать из С-А сделать это использовать следующий код

[self.navigationController popToRootViewControllerAnimated:YES]; 

EDIT

//Try this. 
[[[self parentViewController] parentViewController] dismissModalViewControllerAnimated:YES]; 
+0

Я представляю их не в режиме навигации, – Bazinga

+0

Попробуйте обновить ответ. –

+0

Не повезло :(все еще не работает – Bazinga

Смежные вопросы