34
Televisió de Catalunya Formación en movilidad Conceptos de desarrollo en iOS 1

Formacion en movilidad: Conceptos de desarrollo en iOS (II)

Embed Size (px)

DESCRIPTION

En esta segunda sesión formativa, impartida por Sergi Hernando, CTO de Mobivery, se habló de Storyboards, MVC y iOS simulator

Citation preview

Page 1: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

Televisió de CatalunyaFormación en movilidad

Conceptos de desarrollo en iOS

1

Page 2: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

Qué veremos hoy

Storyboards

MVC

iOS simulator

2

Page 3: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

Storyboards

MyVideos/en.lproj/MainStoryboard_iPhone.storyboard

3

Page 4: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

Storyboards

MyVideos/en.lproj/MainStoryboard_iPhone.storyboard

4

Page 5: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsScenes

iPhone

Navigation Controller“A navigation controller manages a stack of view controllers to

provide a drill-down interface for hierarchical content”

5

Page 6: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsScenes

iPhone

View Controller“View controllers are the link between an app’s data and its

visual appearance”

6

Page 7: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsScenes

iPhone

Segue“Segues are a standard way to transition from one view

controller to another”

7

Page 8: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsNavigation Controller Scene

8

Page 9: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsNavigation Controller Scene

Componentes

• Navigation Controller• Navigation Bar

backBarButtonItem, title, rightBarButtonItem

• ToolbartoolBarItems

• First ResponderObjeto que recibe en primer lugar eventos de UI

• ExitAcción para ‘deshacer’ la navegación (unwind segue)

• Relationship “root view controller” to MasterControlador inicial

9

Page 10: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsNavigation Controller Scene

Pila de navegación

10

Page 11: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsMaster Scene

Componentes

11

Page 12: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsMaster Scene

Table View

dataSource: MasterViewController ⤺ UITableViewDataSourcedelegate: MasterViewController ⤺ UITableViewDelegate

12

Page 13: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsMaster Scene

Table View

// MasterViewController.m

#pragma mark - UITableViewDataSource

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

#pragma mark - UITableViewDelegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

13

Page 14: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsMaster Scene

Table View Cell

selection: push Detail View Controller

Push segue from Cell to Detail14

Page 15: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsMaster Scene

Table View Cell

// MasterViewController.m

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ if([[segue identifier] isEqualToString:@"showDetail"]) { // ... }}

15

Page 16: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsDetail Scene

Componentes

16

Page 17: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsDetail Scene

View

UIView

17

Page 18: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsDetail Scene

Label

18

Page 19: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsScenes

iPad

Split View ControllerMaster View Controller + Detail View Controller

19

Page 20: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsScenes

iPad

Navigation ControllerMaster View Controller

20

Page 21: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsScenes

Navigation ControllerDetail View Controller

21

Page 22: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsDiferencias iPhone-iPad

En Table View Cell no hay selection: Push Detail View Controller

22

Page 23: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsDiferencias iPhone-iPad

prepareForSegue:sender: no se ejecuta

23

Page 24: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

StoryboardsDiferencias iPhone-iPad

Detail View Controller se actualiza con tableView:didSelectRowAtIndexPath:- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { // ... }}

24

Page 25: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

25

Page 26: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

26

Page 27: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

Coffee Break!

27

Page 28: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

MVC

View Controller desde 0Vista modal en iPhone para crear un vídeo nuevo

Navigation Bar con ‘Cancel’ y ‘Done’Acciones desde la vista modal

Adaptar Master View ControllerRecoger datos introducidos en la vista modal

Muy breve introducción a Core DataPersistencia de los datos recogidos

Replicar en iPadRetocar la vista de iPhone

28

Page 29: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

MVC

UIWebViewCarga de una URL en vista web

Loading...Spinner para feedback durante la carga de datos

29

Page 30: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

iOS Simulator

Hardware > Device iPad iPad (Retina) iPhone iPhone (Retina 3.5-inch) iPhone (Retina 4-inch)

Hardware > Version 5.0 (9A334) 5.1 (9B176) 6.0 (10A403) 6.1 (10B141)

30

Page 31: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

iOS Simulator

Debug > Location

31

Page 32: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

iOS Simulator

32

Page 33: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

Recursos

Tutoriales de Ray Wenderlichwww.raywenderlich.com/tutorials

Cursos de Stanford en iTunes Uitunes.stanford.edu

iOS Developer Librarydeveloper.apple.com/library/ios

33

Page 34: Formacion en movilidad: Conceptos de desarrollo en iOS (II)

¡Gracias!

34