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

Post on 05-Jan-2016

38 views 0 download

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

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

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

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)

4

Jerarquía en UIKit Framework

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

6

UIViewController

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

8

Ciclo de vida de un controlador

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

10

UINavigationController

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

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;

13

UINavigationController

Estructura fichero NIB

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

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;

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];

17

UITabBarController

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.

19

UITabBarController

Estructura fichero NIB

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];

21

Combinando controladores

22

Combinando controladores

23

Bibliografía

“View Controller Programming Guide for iPhone OS”

Ejemplos en código

http://developer.apple.com