适用于iOS的App Organization

时间:2011-08-27 22:57:59

标签: ios uinavigationcontroller uitabbarcontroller uitableview

我有C和C ++方面的经验,但在Objective C或Xcode4方面几乎没有经验。

我正在寻找使用标签栏,导航栏和表格视图创建应用程序。根据我的知识,我假设我从顶部开始,深入到根?

首先 创建myTableViewController类,它将动态创建tableview内容并将其创建的视图推送到导航控制器。 然后... 创建包含myTableViewController的myNavController类。使用为myTableViewController创建新项的方法。 然后... 创建选项卡栏控制器,将上面的选项卡作为其中一个选项卡以及其他一些选项卡,将选项卡栏控制器设置为根控制器并将其显示在窗口中。

这是正确的思考方向吗?或者我是非常可怕的?

1 个答案:

答案 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;
}

享受!