В соответствующем методе действия кнопки инициализируйте 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