Organización de aplicaciones para iOS

Tengo experiencia en C y C ++, pero casi nula experiencia en Objective C o Xcode4.

Estoy buscando crear una aplicación con una barra de pestañas, una barra de navegación y vistas de tabla. Según el conocimiento que tengo, supongo que empiezo desde arriba y profundizo hasta la raíz.

Primero, cree la clase myTableViewController que creará dinámicamente el contenido de la vista de tabla y enviará su vista creada al controlador de navegación. Entonces ... Cree la clase myNavController que contiene myTableViewController. con un método que crea un nuevo elemento para myTableViewController. Luego ... Cree el controlador de la barra de pestañas que tiene lo anterior como una de sus pestañas en una matriz junto con algunas otras pestañas, configure el controlador de la barra de pestañas como el controlador raíz y muéstrelo a la ventana.

¿Es esta la dirección correcta para pensar? ¿O estoy horriblemente fuera de curso?

preguntado el 27 de agosto de 11 a las 22:08

La "dirección correcta para pensar" es Interface Builder :) -

EricS, comience con la siguiente muestra: developer.apple.com/library/ios/#samplecode/… -

1 Respuestas

Tengo una aplicación con estos mismos requisitos. Tiene un UITabBar, y en las diferentes pestañas cada UITableViewController tiene una barra de navegación UINavigationController en la parte superior.

Así es como mi delegado de aplicaciones maneja esto:

- (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;
}

¡Disfrútenlas!

Respondido el 23 de Septiembre de 11 a las 08:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.