В методе действия соответствующей кнопки, в инициализации SecondViewController
, а затем собрать NSArray, состоящий из двух элементов: RootViewController
и вновь инициализируется SecondViewController
(в указанном порядке, т.е. Root
с индексом 0 и Second
с индексом 1).
Затем вызовите метод NavigationController setViewControllers:animated:
и передайте массив контроллеров представлений в качестве первого аргумента. Запомните release
SecondViewController
после вызова этого метода или autorelease
после инициализации, чтобы избежать утечки памяти.
Чтобы уточнить, это приведет к тому, что навигатор NavigationController освободит FirstViewController
.
Пример:
- (void) goToSecondViewController
{
RootViewController *root = [[self.navigationController viewControllers] objectAtIndex:0];
SecondViewController *second = [[[SecondViewController alloc] init] autorelease];
NSArray *controllersArray = [NSArray arrayWithObjects: root, second, nil];
[self.navigationController setViewControllers:controllersArray animated:YES];
}
Ссылка: UINavigationController Class Reference
ли это ток удержания на сегодняшний день? (июнь 2012 г.) Я не спрашиваю, работает ли это или нет, но если это не осуждается текущим SDK. – Julian