Primera Demo: Hola Mundo · Hacer la demo Hola Mundo con los siguientes cambios:-Al pulsar el...

Post on 02-Oct-2020

3 views 0 download

Transcript of Primera Demo: Hola Mundo · Hacer la demo Hola Mundo con los siguientes cambios:-Al pulsar el...

© Santiago Pavón - UPM-DIT

Desarrollo de Apps para iOS Primera Demo: Hola Mundo

IWEB 2015-2016Santiago Pavón

ver: 2015.09.07

1

© Santiago Pavón - UPM-DIT

Contenido

Familiarizarse con el entorno Xcode:

- editor, simulador, depurador, ...

Crear una app sencilla:

- GUI: botones, etiquetas, mapas, ...

- Conceptos: IBOutlet, IBAction

2

© Santiago Pavón - UPM-DIT

Lanzar XcodeBuscarlo con Spotlight (⌘-Espacio)

Buscarlo con Launchpad:

3

© Santiago Pavón - UPM-DIT

Crear Nuevo Proyecto

También: Menú File > New > New Project

4

© Santiago Pavón - UPM-DIT

5

© Santiago Pavón - UPM-DIT

6

© Santiago Pavón - UPM-DIT

7

© Santiago Pavón - UPM-DIT

8

© Santiago Pavón - UPM-DIT

Crear GUIClick en el fichero Main.storyboard

- Se abre en el editor (Interface Builder)

Mostrar el inspector.

- Seleccionar la Librería de Objetos

Desde la Librería de Objetos arrastrar hasta la vista del ViewController:

- una UILabel- dos UIButton- un UISlider

9

© Santiago Pavón - UPM-DIT

10

© Santiago Pavón - UPM-DIT

Cambiar atributos

Seleccionar cada una de las views añadidas y cambiar su aspecto usando el inspector.

- O de forma interactiva en el editor (Interface Builder).

11

© Santiago Pavón - UPM-DIT

12

© Santiago Pavón - UPM-DIT

Compilar y ejecutar

Probarlo

13

© Santiago Pavón - UPM-DIT

Autolayout

14

© Santiago Pavón - UPM-DIT

Añadiremos a la clase ViewControler:- un IBOutlet para la Label

es una propiedad que apunta a la UILabel creada.- dos IBActions para atender pulsaciones de los

botonesson los métodos que se ejecutarán al pulsar los botones.

- una IBAction para atender cambios en el Slider.es el método que se ejecutará al mover el slider.

Comportamiento

15

© Santiago Pavón - UPM-DIT

¿Qué es IBOutlet?

Es una marca que reconoce Interface Builder

- Indica que la propiedad marcada con IBOutlet apunta a un objeto que se ha creado con el Interface Builder.

No vamos a crear el objeto mediante código.

Usaremos Interface Builder para conectar la propiedad y el objeto.

Crearemos IBOutlets para los elementos creados con IB que queramos manipular desde el código.

- Para manipularlos necesitamos una propiedad que los apunte.

16

© Santiago Pavón - UPM-DIT

¿Qué es IBAction?

Es una marca que reconoce el Interface Builder

- Indica que el método marcado con IBAction puede ser la acción que ejecutará algún control.

La conexión entre el control y la acción se hace sin necesidad de usar código.

Usaremos Interface Builder para conectar el control y el método.

17

© Santiago Pavón - UPM-DIT

Crear IBOutlet para la EtiquetaSeleccionar Assistant Editor:

Izquierda: El storyboardDerecha: El fichero ViewController.swift

18

© Santiago Pavón - UPM-DIT

Control+B1

19

© Santiago Pavón - UPM-DIT

20

© Santiago Pavón - UPM-DIT

21

© Santiago Pavón - UPM-DIT

Crear IBActions para los Controles

Control+B1

22

© Santiago Pavón - UPM-DIT

23

© Santiago Pavón - UPM-DIT

24

© Santiago Pavón - UPM-DIT

Repetimos los mismo con el botón mundo y con el slider.

25

© Santiago Pavón - UPM-DIT

26

© Santiago Pavón - UPM-DIT

27

© Santiago Pavón - UPM-DIT

Conectar IBOutlet y IBActionExisten varias formas de conectar los Outlets y Actions:

- En las transparencias anteriores hemos conectado los outlets y las Actions usando Ctrl+Botón1 desde un elemento del IB hasta el fichero .swift.

- Seleccionamos IBOutlet para crear una propiedad.- Seleccionamos IBAction para crear un método.

Otras formas de conectar:

- Seleccionando algún control en el IB, y conectando los eventos desde el inspector de conexiones.

- En el modo asistente, desde el editor con el código del fichero swift, hasta los elementos en el editor IB.

Usando los círculos situados en margen izquierdo del editor de código.

- Desde los menús popup que muestran los elementos en el editor IB.

- Usando Ctrl-Botón1 entre elementos en el editor IB.

- etc…

28

© Santiago Pavón - UPM-DIT

29

© Santiago Pavón - UPM-DIT

30

© Santiago Pavón - UPM-DIT

popup

31

© Santiago Pavón - UPM-DIT

popup

32

© Santiago Pavón - UPM-DIT

Control+B1

33

© Santiago Pavón - UPM-DIT

Control+B1

34

© Santiago Pavón - UPM-DIT

El Código de los Métodos

35

© Santiago Pavón - UPM-DIT

Compilar y ejecutar

Probarlo

36

© Santiago Pavón - UPM-DIT

MKMapView

37

© Santiago Pavón - UPM-DIT

Si la aplicación se llama Hola Mundo, entonces quiero ver el mundo.

Desde la librería de objetos añadimos un MKMapView a la vista.

Ver el mundo

38

© Santiago Pavón - UPM-DIT

39

© Santiago Pavón - UPM-DIT

Al pulsar el botón Mundo quiero ver donde está Teleco en el mapa.

Creamos un outlet al mapa y lo conectamos.

- Ya sabemos hacerlo.Es igual que con la UILabel.

Desde mundoPressed ponemos las coordenadas de Teleco en el mapa.

Hay que importar el framework MapKit:

import MapKit

Teleco

40

© Santiago Pavón - UPM-DIT

Control+B1

41

© Santiago Pavón - UPM-DIT

42

© Santiago Pavón - UPM-DIT

Al incluir la sentencia import MapKit en el fichero ViewController.swift:

- Se importan las cabeceras del framework MapKit, haciendo que el tipo MKMapView sea conocido.

- Al construir el ejecutable de la aplicación, se enlaza con el framework MapKit.

Nota: sin la sentencia import, el framework MapKit debería añadirse al proyecto manualmente.

43

© Santiago Pavón - UPM-DIT

44

© Santiago Pavón - UPM-DIT

45

© Santiago Pavón - UPM-DIT

46

© Santiago Pavón - UPM-DIT

Autolayout

47

© Santiago Pavón - UPM-DIT

Práctica 1

Hacer la demo Hola Mundo con los siguientes cambios:

- Al pulsar el botón Hola:

El slider debe ajustarse a 0.5

El mapa debe configurarse en modo híbrido.

- Al pulsar el botón Mundo:

El mapa debe configurarse en modo satélite.

- Añadir otro botón para mostrar las pirámides de Egipto.

48

© Santiago Pavón - UPM-DIT

49