02 componentes navegación · 2020-05-06 · uistackview • es un componente que permite arreglar...

8
iOS GUI Swift en acción (Closure) // Podemos mandar como parámetro una función let datos = [1, 7, 2, 9, 15, 13, 8] print(datos) func comparar(_ a: Int, _ b: Int) -> Bool{ return a > b } let ordenados = datos.sorted(by: comparar) print(ordenados) [1, 7, 2, 9, 15, 13, 8] [15, 13, 9, 8, 7, 2, 1]

Upload: others

Post on 27-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 02 Componentes Navegación · 2020-05-06 · UIStackView • Es un componente que permite arreglar vistas de manera lineal. • Horizontal. Un renglón de vistas. • Vertical. Una

iOSGUI

Swift en acción (Closure)// Podemos mandar como parámetro una función

let datos = [1, 7, 2, 9, 15, 13, 8]

print(datos)

func comparar(_ a: Int, _ b: Int) -> Bool{ return a > b}

let ordenados = datos.sorted(by: comparar)

print(ordenados)

[1, 7, 2, 9, 15, 13, 8]

[15, 13, 9, 8, 7, 2, 1]

Page 2: 02 Componentes Navegación · 2020-05-06 · UIStackView • Es un componente que permite arreglar vistas de manera lineal. • Horizontal. Un renglón de vistas. • Vertical. Una

Swift en acción// Podemos mandar LA FUNCION (closure) como parámetro

let ordenados = datos.sorted(by: { (a: Int, b: Int) -> Bool in return a > b})

// La inferencia de tipos, permite quitar el tipo de a y b

let ordenados = datos.sorted(by: { (a, b) -> Bool in return a > b})

// Por la misma razón, podemos quitar el tipo de regreso

let ordenados = datos.sorted(by: { (a, b) in return a > b})

Swift en acción// Podemos quitar los paréntesis que definen los parámetros // y escribir todo en la misma línea

let ordenados = datos.sorted(by: { a, b in return a > b })

// Si la función regresa algo, no es necesario indicarlo let ordenados = datos.sorted(by: { a, b in a > b })

// Pero, los parámetros también se pueden inferir let ordenados = datos.sorted(by: { $0 > $1 })

// El operador > compara dos Int, entonces lo usamos. 😂 let ordenados = datos.sorted(by: >)

Page 3: 02 Componentes Navegación · 2020-05-06 · UIStackView • Es un componente que permite arreglar vistas de manera lineal. • Horizontal. Un renglón de vistas. • Vertical. Una

UIStackView

• Es un componente que permite arreglar vistas de manera lineal.

• Horizontal. Un renglón de vistas.

• Vertical. Una columna de vistas.

Ejercicio• Escribe una aplicación

para resolver ecuaciones de segundo grado.

Page 4: 02 Componentes Navegación · 2020-05-06 · UIStackView • Es un componente que permite arreglar vistas de manera lineal. • Horizontal. Un renglón de vistas. • Vertical. Una

Vista• Crea el proyecto y configura la siguiente GUI.

Modelo• Crea el modelo especificado con este diagrama de

clase.

Page 5: 02 Componentes Navegación · 2020-05-06 · UIStackView • Es un componente que permite arreglar vistas de manera lineal. • Horizontal. Un renglón de vistas. • Vertical. Una

Controlador• Crea outlets para los campos de los coeficientes.

• Crea un action (calcularRaices) para el botón Resolver.

• Crea outlets para los campos de las raíces.

• Escribe la lógica necesaria para resolver la ecuación.

Prueba• Corre la aplicación y verifica el funcionamiento.

• No olvides:

• Limitar el teclado a números enteros.

• Verificar errores.

• Si el coeficiente es cero, mostrar una alerta indicando el problema.

Page 6: 02 Componentes Navegación · 2020-05-06 · UIStackView • Es un componente que permite arreglar vistas de manera lineal. • Horizontal. Un renglón de vistas. • Vertical. Una

Mostrando alertasPara mostrar una alerta:

• Crea un UIAlertController. • Agrega los botones del tipo adecuado.

✦ Crea el botón. ✦ Agrégalo a la alerta.

• Muestra la alerta.

Ejercicio extra

• Generar la siguiente GUI:

Page 7: 02 Componentes Navegación · 2020-05-06 · UIStackView • Es un componente que permite arreglar vistas de manera lineal. • Horizontal. Un renglón de vistas. • Vertical. Una

Navegación modal• Puedes lanzar una nueva pantalla conectando un

botón hacia el nuevo controlador. Esto crea un Segue y la transición es automática.

¿Cómo regresar?• Crea un punto de regreso en el primer controlador:

• @IBAction func regresar(segue: UIStoryboardSegue)

• Conecta un botón en el segundo controlador hacia el icono Exit y selecciona el método del primer controlador.

Page 8: 02 Componentes Navegación · 2020-05-06 · UIStackView • Es un componente que permite arreglar vistas de manera lineal. • Horizontal. Un renglón de vistas. • Vertical. Una

Navegación• Modal.

• Segue.

• Jerárquica.

• UINavigationController.

• Directa.

• UITabBarController.