Curso de Iniciación a la Programación del iPhone SDK con Objective-C

23
Curso de Iniciación a la Programación del iPhone SDK con Objective-C Controladores – La lógica de la aplicación Moncada, 9 de Julio de 2010

description

Curso de Iniciación a la Programación del iPhone SDK con Objective-C. Controladores – La lógica de la aplicación. Moncada, 9 de Julio de 2010. Controladores. ¿Qué es? Punto de partida Ciclo de vida initWithNibName viewDidLoad viewWillAppear viewWillDisappear viewDidUnload - PowerPoint PPT Presentation

Transcript of Curso de Iniciación a la Programación del iPhone SDK con Objective-C

Page 1: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

Curso de Iniciación a la Programación del iPhone SDK con Objective-CControladores – La lógica de la aplicación

Moncada, 9 de Julio de 2010

Page 2: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

2

Controladores

¿Qué es? Punto de partida Ciclo de vida

initWithNibName viewDidLoad viewWillAppear viewWillDisappear viewDidUnload

Creando controladores e interfaces Conectando la interfaz y su controlador

Page 3: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

3

¿Qué es un controlador?

Funciones Carga la vista y los valores iniciales Recibe los eventos producidos en la interfaz Gestiona autorotación

(BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation

Libera los recursos relacionados con la vista Tipos

Contenedores: UINavigationController y UITabBarController Personalizados: Tu subclase de UIViewController Modales (aparecen en pantalla de una manera especial)

Page 4: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

4

Jerarquía en UIKit Framework

Page 5: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

5

UIViewController

¿Qué puede contener? Variables de tipo del modelo de datos Variables 'outlets' (IBOutlet) para conectar con objetos de

la vista Acciones 'outlets' (IBAction) para conectar con objetos de

control de la vista Otros métodos auxiliares

Page 6: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

6

UIViewController

Page 7: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

7

Ciclo de vida de un controlador

Ciclo de vida initWithNibName

Configuración no relacionadas con la vista viewDidLoad

Valores iniciales (relacionados con la vista) viewWillAppear

La vista va a aparecer viewWillDisappear

Guardar el estado viewDidUnload

Liberar recursos

Page 8: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

8

Ciclo de vida de un controlador

Page 9: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

9

Creando controladores e interfaces

Como hemos dicho: 1 vista → 1 controlador (común)

¿Cómo componemos una aplicación con varias vistas?

Usando controladores especiales

UINavigationController

UITabBarController

Page 10: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

10

UINavigationController

Page 11: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

11

UINavigationController

Sirve para representar datos jerarquizados Gestiona la barra de navegación (UINavigationBar)

Botón 'Atrás' Título de la vista actual Otros controles

Pila de controladores de vistas

Page 12: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

12

UINavigationController

Métodos importantes:

Push para añadir un controlador de vista a la pila- (void)pushViewController:(UIViewController *)viewController

animated:(BOOL)animated;

Pop para eliminar un controlador de vista de la pila- (UIViewController *)popViewControllerAnimated:(BOOL)animated;

Inicializar toda la pila de controladores (iPhone OS3.0)- (void)setViewControllers:(NSArray *)viewControllers animated:

(BOOL)animated;

Page 13: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

13

UINavigationController

Estructura fichero NIB

Page 14: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

14

UINavigationController

Compartiendo datos entre vistas (Data flow)

- Parámetros entrada en controlador de vista[[DetailViewController alloc] initWithPerson:(Person *)person];

- Para comunicación con 'vista padre'

Protocolos-> delegación

Page 15: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

15

UINavigationItem

Todos lo controladores tiene una variable UINavigationItem Personaliza la barra superior cuando el controlador está arriba en la

pila Estructura

NSString *title; UIBarButtonItem *leftBarButtonItem y *rightBarButtonItem UIView *titleView; NSString *backButtonTitle;

Page 16: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

16

UINavigationItem

Personalizando la barra de navegación

Configurando un botón derecho personalizado:

UIBarButtonItem *izqBoton = [UIBarButtonItem alloc];

[izqBoton initWithTitle:@”Dale!” style: UIBarButtonItemStyleBordered target:self action:@selector(metodoBoton:)];

self.navigationItem.leftBarButtonItem =izqBoton;

[izqBoton release];

Page 17: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

17

UITabBarController

Page 18: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

18

UITabBarController

Sirve para separar la aplicación en varios modos de ejecución Utiliza una barra de pestañas (TabBar) para los distintos

modos A diferencia con UINavigationController, UITabBarController

almacena las vistas en un array.

Page 19: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

19

UITabBarController

Estructura fichero NIB

Page 20: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

20

UITabBarItem

Todos lo controladores tiene una variable UITabBarItem Personaliza la barra inferior de la aplicación Estructura

NSString *title; UIImage *image; NSString *badgeValue;

Personalizando UITabBarItem

UITabBarItem *item = [[UITabBarItem alloc]

initWithTabBarSystemItem:UITabBarSystemItemBookmarks tag:0];

self.tabBarItem = item;

[item release];

Page 21: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

21

Combinando controladores

Page 22: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

22

Combinando controladores

Page 23: Curso de Iniciación a la Programación del iPhone SDK con Objective-C

23

Bibliografía

“View Controller Programming Guide for iPhone OS”

Ejemplos en código

http://developer.apple.com