我有C和C ++方面的经验,但在Objective C或Xcode4方面几乎没有经验。
我正在寻找使用标签栏,导航栏和表格视图创建应用程序。根据我的知识,我假设我从顶部开始,深入到根?
首先 创建myTableViewController类,它将动态创建tableview内容并将其创建的视图推送到导航控制器。 然后... 创建包含myTableViewController的myNavController类。使用为myTableViewController创建新项的方法。 然后... 创建选项卡栏控制器,将上面的选项卡作为其中一个选项卡以及其他一些选项卡,将选项卡栏控制器设置为根控制器并将其显示在窗口中。
这是正确的思考方向吗?或者我是非常可怕的?
答案 0 :(得分:0)
我有一个具有相同要求的应用。它有一个UITabBar,在不同的标签中,每个UITableViewController顶部都有一个UINavigationController导航栏。
以下是我的App Delegate处理此问题的方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Create the UITabBarController
UITabBarController *tabBarController = [[UITabBarController alloc] init];
//Create the view controllers for our tabs
UITableViewController *vc1 = [[UITableViewController alloc] init];
UITableViewController *vc2 = [[UITableViewController alloc] init];
UITableViewController *vc3 = [[UITableViewController alloc] init];
UITableViewController *vc4 = [[UITableViewController alloc] init];
UITableViewController *vc5 = [[UITableViewController alloc] init];
//Create the Navigation Controllers for these views
UINavigationController *nc1 = [[[UINavigationController alloc]
initWithRootViewController:vc1] autorelease];
UINavigationController *nc2 = [[[UINavigationController alloc]
initWithRootViewController:vc2] autorelease];
UINavigationController *nc3 = [[[UINavigationController alloc]
initWithRootViewController:vc3] autorelease];
UINavigationController *nc4 = [[[UINavigationController alloc]
initWithRootViewController:vc4] autorelease];
UINavigationController *nc5 = [[[UINavigationController alloc]
initWithRootViewController:vc5] autorelease];
//Make an array containing the view controllers
NSArray *viewControllers = [NSArray arrayWithObjects:nc1, nc2, nc3, nc4, nc5, nil];
//The NSArray has retained these controllers, we can now release them.
[vc1 release];
[vc2 release];
[vc3 release];
[vc4 release];
[vc5 release];
[nc1 release];
[nc2 release];
[nc3 release];
[nc4 release];
[nc5 release];
//Assign the view controllers to the tab bar.
[tabBarController setViewControllers:viewControllers];
//Set tabBarController as rootViewController of window
[self.window setRootViewController:tabBarController];
//The window retains tabBarController, we can release our reference
[tabBarController release];
[self.window makeKeyAndVisible];
return YES;
}
享受!