Your SlideShare is downloading. ×
0
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Sesion uno azuay
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Sesion uno azuay

211

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
211
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. DESARROLLANDO PARA iOS Gunther Vottela CEO KUBO Mobile Applications @kubomobile - @gunthervottela
  • 2. INTRODUCCIÓN
  • 3. Antes de comenzar….• Que es lo quiero y que me gustaria desarrollar• Cual es mi target• Diseño• Experiencia
  • 4. Que requiero para desarrollar en iOS?• Un Mac!• Inscribirse como developers en apple.developer.com.• Descargar el Xcode “SDK” para desarrollar en iOS, en Lion atraves del MacStore.• Buscar comunidades de soporte online – leer la documentación – Tener equipos de Test.
  • 5. Que requiero para desarrollar en iOS?• iOS es la plataforma, pero el lenguaje de desarrollo es Objetive-c.• Según wikipedia…Es un lenguaje de programación orientado a objetos creado como un superconjunto de C.
  • 6. Las herramientas para desarrollar• Xcode es el SDK de Apple para el desarrollo de apps tanto para Mac como para iOS.• Actualmente se encuentra en la versión 4.2, con soporte para iOS 5.0.• Dependiendo las caracteristicas que se quieran utilizar en el app y soporte para devices se debe seleccionar la versión de Xcode.
  • 7. Xcode - Versiones• Versiones recomendadas.• 4.2 -> Mac`s Intel, incluye soporte para iOS 5.0, Lion 10.7 OS, internamente incluye internamente las herramientas de analisis y depuración.• 3.2.5 -> Mac’s Intel, Incluye soporte para iOS 3.1.3, Snow Leopard, herramientas de analisis y depuración independientes.
  • 8. Conjunto de Herramientas• Xcode = Ambiente de desarrollo.• Interface Builder = Construcción visual de vistas y objetos.• Instruments = Analisis de memoria, objetos, performance, etc.• DashCode = Utilitario.
  • 9. Xcode – SDK ambienteObjetos de proyecto Herramientas Clases Panel de código
  • 10. Interface Builder - ambiente
  • 11. Interface Builder - ambiente
  • 12. Ahora en el Mac..
  • 13. Mi primer App
  • 14. Mi primer app• Una idea.• Planifiquen en papel el diseño base y la navegación del app.• Revisen apps que puedan ser similares• Cuidado con los UI Guidelines!
  • 15. Mi primer app• Abrir Xcode.• Clic en File / New Proyect y seleccionamos el tipo de proyecto.
  • 16. Mi primer app
  • 17. Mi primer app• Contenido del proyecto: • AppDelegate -> Archivo de inicio del app. • Archivos .h -> Headers de clases • Archivos .m -> Implementaciones de clases • Archivos .XIB -> Archuvos de UI • Archivo .plist -> Archivos de configuración
  • 18. Ahora en el Mac..
  • 19. Stack de Navegación
  • 20. Que es el stack de navegación• Es la logica y componentes de navegación que se crea entre los diferentes vistas de un app.
  • 21. Que es el stack de navegación• Navigation Bar
  • 22. Variables y objetos comunes
  • 23. Variables y objetos comunes• Tipos de datos: • Nsstring • Int “primitivo” • NSInteger • BOOL • Char
  • 24. Variables y objetos comunes• Objetos de datos: • NSArray • NSmutableArray • NSMutableDictionary • NSDate • NSImage • NSMutableString • NSURL
  • 25. Variables y objetos comunes• Objetos de interface: • UiView • UIButton • UILabel • UIImageView • UIImage • UICalendar • UITextField • UIViewScroll
  • 26. Variables y objetos comunes• Declaraciones: • Nstring *micadena = @”aaaa”; • Int miInt = 1; • BOOL miBool = TRUE; • NSArray *miarray = [NSArray arrayWithObjects: @”juan", @”pedro", @"Luciano", @"Silvia", nil ];
  • 27. Variables y objetos comunes• Alloc – init - Release: • Alloc = Es la solicitud de reserva de memoria del objeto. • Init = Es la solcitud de inicializar el objeto. • Release = Es la solicitud de liberación de memoria
  • 28. Variables y objetos comunes• Declaraciones: • NSMutableArray *array = [[NSMutableArray alloc] init]; • NSMutableDictionary *midiccionario = [[NSMutableDictionary alloc] init]; • UIView *MiVista = [[UIView alloc] init]; [MiVista Release];
  • 29. Ahora en el Mac..
  • 30. Los UIViewController’s y Clases
  • 31. Los UIViewController’s y Clases• Un UiViewController es unas clase que importa el framework UIKit en el header y hereda de la clase UiViewController, en la mayoria de los casos tiene un archivo .xib relacionado, normalmente son tres archivos .h, .m y .xib.• Una clase en un conjunto de archivos, .h y .m que importa el framework Foundation en el header y hereda de la clase NSObject.
  • 32. UIViewController’s• Para agregar un UIViewController al proyecto: File / New File / UIViewController Subclass “marcar Whit .XIB file / Next / Colocar nombre / Finish.
  • 33. Ahora en el Mac..
  • 34. Los UIViewController’s• Navegando entre controladores, hacia adelante: En la implementación importar el controlador… Import “Controlador2 .h” Controlador2 *nextController = [[Controlador2 alloc] initWithNibName:@"Controlador2 " bundle:nil]; nextController.hidesBottomBarWhenPushed=YES; [self.navigationController pushViewController:nextController animated:YES]; [nextController metodo:@”parametro”]; [nextController release];
  • 35. Los UIViewController’s• Navegando entre controladores, hacia atras: Usando el navigation. UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init]; temporaryBarButtonItem.title = @"Volver"; self.navigationItem.backBarButtonItem = temporaryBarButtonItem; [temporaryBarButtonItem release]; Acción custom. - (void)volver:(id)sender{ [self.navigationController popViewControllerAnimated:YES]; }
  • 36. Clases• Metodos – IBAction:• Todos los metodos son funciones que permiten recibir N parametros pero retornar un solo objeto. .h -(int)mimetodo: (nsstring *)texto; .m -(int)mimetodo: (nsstring *)texto{}
  • 37. Los UIViewController’s• Metodos – IBAction:• Los IBAction son metodos que normalmente se releacionan a objetos del interface “Botones” .h -(IBaction)mimetodo; .m -(IBaction)mimetodo{}
  • 38. Clases• Metodos – IBAction:• Para invocar un metodo dentro de una clase se utiliza la instrucción self, ejemplo. [self mimetodo]; [self mimetodo:@”parametro”];
  • 39. Los UIViewController’s• Metodos de vista:• -(void)viewDidLoad{}• - (void)viewWillAppear:(BOOL)animated{}• -(void)viewDidUnload{}• -(void)dealloc {}
  • 40. Ahora en el Mac..
  • 41. UITableViewControllers
  • 42. UITableViewControllers• Es uno de los objetos mas usandos en iOS para mostrar información al usuario de forma de lista.• Algunos objetos como el UITableViewController usan el delegate para recibir y enviar mensajes entre sus metodos.• Las celdas estandar permiten el uso de un titulo, detalle, imagen y boton “disclousure”.
  • 43. UITableViewControllers• Es uno de los objetos mas usandos en iOS para mostrar información al usuario de forma de lista.• Algunos objetos como el UITableViewController usan el delegate para recibir y enviar mensajes entre sus metodos.• Las celdas estandar permiten el uso de un titulo, detalle, imagen y boton “disclousure”.
  • 44. UITableViewControllers• -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{}• -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{}• -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{}• -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
  • 45. UITableViewControllers• Se puede crear celdas personalizadas para aumentar la cantidad de informacion y mejorar el diseño en las celdas, creando una clase tipo UITableViewCell y luego relacionandola a la celda en su fase construcción.• Se debe relacionar, el delegate y datasource para que asi pueda recibir los datos.• Solo se puede colocar uno por vista.
  • 46. UITableViewControllers
  • 47. UITableViewControllers
  • 48. Ahora en el Mac..
  • 49. Vistas Modales y Push
  • 50. Vistas Modales y Push• Modal y push son dos formas diferentes de presentación de los UIViewControllers.• En el caso de push se mantiene la navegación y se respetan los elementos de acceso a otras vistas como los TabBar.• En el caso de los Modal, se hace una presentación full screen de la vista.
  • 51. Vistas Modales y Push• Push: Controlador2 *nextController = [[Controlador2 alloc] initWithNibName:@"Controlador2 " bundle:nil]; [self.navigationController pushViewController:nextController animated:YES]; [nextController release];• Modal: PopOverControllerContents *popContents = [[PopOverControllerContents alloc] initWithNibName:@"PopOverControllerContents" bundle:[NSBundle mainBundle]]; [self presentModalViewController:popContents animated:YES];
  • 52. Vistas Modales y Push• Push: [self.navigationController popViewControllerAnimated:YES];• Modal: [self dismissModalViewControllerAnimated:YES];
  • 53. Ahora en el Mac..
  • 54. @gunthervottelaWeb Site

×