我的iPhone应用程序是基于导航的应用程序。
客户需要将60%的应用转换为全局TabBar。 (即从应用程序视图中包含60%的一个标签栏)
那么,这里遵循的最佳做法是什么?
是否在Window
中包含使用IB的TabBar?
或者添加更改整个应用程序的导航代码并推送TabBarController而不是常规的ViewController?
请向我提供想法。
感谢。
答案 0 :(得分:0)
我使用了一个新的基于窗口的应用程序并输入以下代码:
这个想法是创建一个UITabBarController并将它放在NavigationController而不是ViewControllers上。
每个navigationController都会导航到自己的一组ViewContrllers。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UITabBarController* tabBarContoller = [[UITabBarController alloc]init];
Cross1VC* cross1VC = [[Cross1VC alloc]initWithNibName:@"Cross1VC" bundle:nil];
cross1VC.title = @"Cross 1";
UINavigationController* crossNav = [[UINavigationController alloc]initWithRootViewController:cross1VC];
crossNav.title = @"Cross";
[cross1VC release];
Part1VC* part1VC = [[Part1VC alloc]initWithNibName:@"Part1VC" bundle:nil];
part1VC.title = @"Part 1";
UINavigationController* partNav = [[UINavigationController alloc]initWithRootViewController:part1VC];
partNav.title = @"Part";
[part1VC release];
NSArray* viewControllers = [NSArray arrayWithObjects:crossNav, partNav, nil];
[tabBarContoller setViewControllers:viewControllers animated:YES];
//tabBarContoller.delegate = [[SomeDelegateHandlerClass alloc]init]; // assign, not retain
[self.window addSubview:tabBarContoller.view];
//[tabBarContoller release]; // make instance variable and release in dealloc
[self.window makeKeyAndVisible];
return YES;
}