Вам нужно настроить контроллер корневого представления, это проще всего начать с шаблона Apple.
Вот где происходит волшебство:
UIViewController *controller = [[UIViewController alloc] initWithNibName:@"MyNib" bundle:nil];
[self.navigationController pushViewController:controller animated:YES];
[controller release];
Контроллер навигации выполняет всеработать для вас (кнопки назад, заголовки, анимации) - он отслеживает!
Мой рабочий процесс такой:
Установите MutableArray в viewDidLoad, добавьте к нему контроллеры, например:
NSMutableArray *array = [[NSMutableArray alloc] init];
MyCustomViewController *customView = [[MyCustomViewController alloc] initWithNibName:@"nib" bundle:@"nil"];
customView.title = @"Second Level";
[array addObject:customView];
self.controllers = array;
Тогда в вашем делегате:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger row = [indexPath row];
UIViewController *childControllerToBe = [controllers objectAtIndex:row];
[self.navigationController pushViewController:childControllerToBe animated:YES];
}
Об этом, а также о многом другом можно узнать, прочитав достойную книгу для начинающих, такую как Начало разработки iPhone
Также, Apple Docs всегда хороши:)