Приложения в стиле навигации действительно просты и работают по принципу «стека». Вы представляете новые «экраны» UIViewController в стеке навигации, и когда вы закончите с ними, вы «выталкиваете» их (по умолчанию вам ничего не нужно делать, кнопка «назад» будет сгенерирована для вас, когда вы вставьте новый UIViewController в стек навигации.
Вот как вы помещаете новый контроллер в стек навигации:
UserContactInfoVC *vc = [[UserContactInfoVC alloc] initWithNibName:@"UserContactInfoVC" bundle:nil];
[self.navigationController pushViewController:vc animated:YES];
[vc release];
Редактировать: представление «начального» экрана перед тем, как иногда вызывается экран навигации с отображением «всплывающего» экрана. Это тоже просто сделать. Он использует другой вид механизма представления UIViewController, называемый «модальное представление». Любой UIViewController может показать другой UIViewController модально, выполнив это:
PlaceOrderVC *vc = [[PlaceOrderVC alloc] initWithNibName:@"PlaceOrderVC" bundle:nil];
[self.navigationController presentModalViewController:vc animated:YES];
[vc release];
Я нашел лучшее место для представления заставки в приложении ApplicationDelegate, где вы представляете главное окно для приложения. Я делаю это так:
- (void) presentSplashScreen
{
SplashVC *vc = [[SplashVC alloc] initWithNibName:@"SplashVC" bundle:nil];
vc.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self.viewController presentModalViewController:vc animated:NO];
[vc release];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Add the view controller's view to the window and display.
[self.window addSubview:viewController.view];
[self.window makeKeyAndVisible];
[self presentSplashScreen];
return YES;
}