Ejercicios de introducción a las aplicaciones iOS (2 puntos)¶
Desarrolla una app llamada iMoneda
con la que se pueda "lanzar" una "moneda virtual" a ver si sale cara o cruz.
La interfaz de la app será muy sencilla y constará de:
- Un
Button
que al ser pulsado "lanzará" la moneda. - Un
UIImageView
para mostrar la imagen de la cara o de la cruz - Un
Label
para mostrar el resultado en modo texto ("cara" o "cruz")
- La vista (0,5 puntos): Crea la interfaz arrastrando los componentes y colocándolos donde creas conveniente.
- Añádele al proyecto las imágenes de la cara y cruz de la moneda. Crea un image set en la carpeta
Assets.xcassets
llamado cara y otro llamado cruz y deja allí las imágenes correspondientes. Verás que están a @2x y @3x. - El modelo(0,5 puntos): Crea:
- Un enumerado
Tirada
con los valores decara
ycruz
- Una clase
Moneda
con un único métodolanzar()
que devuelva unaTirada
al azar. Como solo hay dos valores posibles, conBool.random()
puedes generar un valor booleano al azar y dependiendo de si estrue
ofalse
devolverTirada.cara
oTirada.cruz
. También puedes generar un entero aleatorio en el rango 0...1, o lo que se te ocurra.
- Un enumerado
- El controlador (0,75 punto):
- Define en él una propiedad del tipo
Moneda
- Crea dos outlet, uno para acceder al componente
UIImageView
y otro para elLabel
- Crea un action que vincule el botón con algún método del
ViewController
- En el código del action:
- Usa el método
lanzar()
de laMoneda
para obtener una tirada - Muestra el resultado en modo texto en el
Label
, ("cara", "cruz") - Muestra la imagen apropiada
- Usa el método
- Define en él una propiedad del tipo
Aclaración: Cómo trabajar con imágenes
Las imágenes se representan en iOS con objetos
UIImage
. Podemos obtener la imagen correspondiente a un recurso de los assets con su nombre:
let imagenCara = UIImage(named:"cara")
El
UIImageView
es un componente de interfaz que contiene unaUIImage
. Podemos cambiar la imagen asignándola a la propiedadimage
delUIImageView
.
let imagenCara = UIImage(named:"cara")
//SUPONIENDO que el outlet que representa al UIImageView es imageView
self.imageView.image = imagenCara
(0,25 puntos) Finalmente añádele un icono a la app y una launch screen con los elementos que consideres.
- Puedes descargar iconos por ejemplo de icons8.com/icons
- Puedes cambiar el tamaño del icono con
Vista Previa
del Mac (Herramientas>Ajustar Tamaño...) o bien puedes generar automáticamente los tamaños necesarios con la ayuda de una web como por ejemplo appicon.co