Переключение между родственными взглядами через UINavigationViewController - PullRequest
3 голосов
/ 13 марта 2012

Я использую NavigationViewController для навигации между основным видом и подробным видом. Теперь я хочу иметь возможность перейти к подробному представлению одного и того же уровня без предварительного отображения основного представления, и я попытался выполнить popViewController и pushViewController в одном и том же методе или popViewController в подробном представлении, а затем pushViewController в mater's viewDidLoad после popViewController, но это не так. работа - представление просто возвращается к основному виду, не переключаясь на детали. Есть идеи, что делать?

Предлагаемое здесь решение не работает, насколько я могу судить: Переключение между режимами просмотра контента

1 Ответ

4 голосов
/ 13 марта 2012

Я никогда не пробовал, но это должно работать:

// create instance of new view controller
MyViewController *myViewController = [[MyViewController alloc] init];

// get current stack of viewControllers from navigation controller
NSMutableArray *viewControllers = [[self.navigationController viewControllers] mutableCopy];

// replace top view controller in stack
[viewControllers replaceObjectAtIndex:([viewControllers count] - 1) withObject:myViewController];

// set modified stack of view controllers in navigation controller
[self.navigationController setViewControllers:viewControllers animated:YES];

В соответствии с документами ваше приложение перейдет на новый контроллер представления с push-анимацией, итогда, когда нажата кнопка «Назад», это будет выглядеть так, как будто контроллер вида, из которого вы нажали, никогда не был там.(Если вы не хотите анимацию, используйте animated:NO)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...