Guía iOS: Uso de varias vistas
Actualizado : 21 octubre 2011 (iOS 5)
Continuando la Guía de desarrollo para iPhone e iPad en este artículo revisaremos los principales métodos utilizados para navegar dentro de una aplicación: UINavigationController y UITabBarController. Dependiendo del diseño que definamos podemos utilizar uno u otro, incluso los dos en la misma aplicación.
Diferencia entre UINavigationController y UITabBarController
Una imagen dice más que mil palabras, así que dos dicen muchísimo más:
Como se puede ver UINavigationController crea una jerarquía de vistas a diferencia de UITabBarController que genera instancias independientes de vistas. También es posible implementar el controlador
UINavigationController dentro de los elementos de un
UITabBarController.
Implementando UINavigationController y UITabBarController
1. Crear un nuevo proyecto en Xcode de tipo “Empty Aplication”
2. Agregar los siguientes elementos en AppDeletate.h
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> { UIWindow *window; UITabBarController *tabBarController; UINavigationController *navigationController; } @property (strong, nonatomic) UIWindow *window; @end
3. Inicializa los controladores con solo código sin usar Interface Builder desde AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Inicializa los controladores navigationController = [[UINavigationController alloc] init]; tabBarController = [[UITabBarController alloc] init]; // Inicializa la primer vista del TabBarController UIViewController *primerViewController = [[UIViewController alloc] init]; primerViewController.view.backgroundColor = [UIColor whiteColor]; primerViewController.title = @"Primero"; // Inicializa la segunda vista del TabBarController UIViewController *segundoViewController = [[UIViewController alloc] init]; segundoViewController.view.backgroundColor = [UIColor whiteColor]; segundoViewController.title = @"Segundo"; // Agrega la segunda vista al controlador UINavigationController [navigationController pushViewController:segundoViewController animated:NO]; // Agrega las vistas creadas al controlador UITabBarController // 1. Primer Vista = UIViewController // 2. Segunda Vista = UINavigationController [tabBarController setViewControllers:[NSArray arrayWithObjects:primerViewController, navigationController, nil] animated:YES]; // Libera memoria con los controladores ya utilizados [primerViewController release]; [segundoViewController release]; // Agrega el controlador UITabBarController a la ventana principal self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; self.window.rootViewController = tabBarController; [self.window makeKeyAndVisible]; // Retorna YES XD return YES; }
4. Compilar y Ejecutar
Al final obtendrás dos vistas desde el UITabBarController y una de ellas contendrá un UINavigationController. También se pueden implementar estos controladores utilizando Xcode que de manera muy intuitiva permite arrastrar y establecer los controladores respectivos.
En caso de presentar algún inconveniente en los pasos puedes descargar el proyecto y realizar el proceso de “Build and Run”. Recuerda cualquier inquietud sobre este tema o la guía en general no dudes en comentarlo.
Repositorio en GitHub : MDW-GuiaiOS05-UIViewController
Viejo Cala que gusto encontrarmelo en este Blog, que casualmente me intereso el articulo que vi en Facebook, veo que esta hecho un duro programando en PDA’s cuenteme como anda todo, lo voy a agregar al FB.
Saludos.
Ing. Julian Gonzalez.
Gracias Julian, no, ningún duro, aún queda mucho por aprender 😀
Hola, os leo desde hace mucho tiempo y aprovecho este post para preguntaros si es posible este precio del iPhone 4
http://www.masqanuncios.com/se-vende-iphone-4/
Gracias