Вы можете начать с шаблона приложения UITabBar, и вы поймете, что это очень легко сделать:
В вашем UIApplicationDelegate
классе, в методе
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Создайте UITabBarController
вот так:
UITabBarController *tabBar = [[UITabBarController alloc] init];
Затем вы устанавливаете контроллеры представления, которые будут отображаться на панели вкладок:
tabBar.viewControllers = viewControllers;
То есть NSArray
, который вы можете предварительно создать с помощью подклассов UIViewController
:
NSArray *viewControllers = [[[NSArray alloc] initWithObjects:vc1, vc2, vc3, nil] autorelease];
После этого вам нужно всего лишь установить его в качестве корневого контроллера представления окна или добавить его в качестве подпредставления (это имеет тот же эффект, но первый подход не работает до iOS 4)
self.window.rootViewController = tabBar;
или
[self.window addSubView:tabBar.view];
А потом
[tabBar release];
Чтобы достичь того вида навигации, который вы задаете в своем вопросе, контроллеры представления, которые вы установили для tabBar, должны быть экземплярами UINavigationController
, которые очень легко создать, например:
UINavigationController *vc1 = [[UINavigationController alloc] initWithRootViewController:firstViewControllerPage];
И внутри них вы можете нажать (перейти к) другим контроллерам вида, выполнив:
[self.navigationController pushNavigationController:anotherViewController animated:YES];
Надеюсь, этот краткий обзор прояснит это немного:)