UIButton en UIKit con Swift en Español #3 - Curso iOS en Swift
UIButton en UIKit es una de las vistas que más usas cuando creas una aplicación iOS. Aprende a crear distintos UIButton con diferentes estilo y configuración. Conecta un UIButton con un método para poder ejecutar el código que quieras cuando un user lo pulse.
Hoy en SwiftBeta vamos a aprender a cómo crear un UIButton. En los anteriores posts hemos aprendido a cómo movernos por Xcode usando Storyboard, también hemos aprendido a cómo crear vistas por código sin usar Storyboard, hemos visto AutoLayout, y hemos creado instancias de subvistas como UIImageView, UILabel y UIButton (eso sí, sin entrar demasiado en detalle). Hoy lo que vamos hacer es entrar en detalle con UIButton.
Desde iOS 15, Apple añadió un nuevo componente llamado Configuration. Aquí podemos configurar nuestro UIButton, y cuando digo configurar me refiero a que podemos darle un estilo, título, subtítulo, icono, tamaño, padding, etc. Vamos a ver distintas configuraciones. Vamos a ver la primera!
Creamos proyecto en Xcode
Lo primero de todo que haremos será crear un proyecto en Xcode. Al crearlo, marcaremos Storyboard en la Interface. Una vez creado nos vamos a nuestro ViewController y allí crearemos nuestro primer UIButton.
Configuración 1 de UIButton
Vamos a crear el siguiente UIButton
para hacerlo, vamos a usar el siguiente código
Hemos creado una propiedad que es un UIButton. Dentro de la propiedad configuramos el UIButton con una serie de propiedades.
Creamos una instancia de UIButton.Configuration
Añadimos un título
Añadimos un subtítulo
Añadimos una imagen del sistem, esta imagen la podemos encontrar usando SF Symbols, y por lo tanto podríamos usar cualquier otra.
Creamos una instancia de UIButton
Marcamos que queremos configurar las constraints por código
Asignamos la configuración que hemos creado de nuestro UIButton a la configuración del UIButton
Vamos a ver más configuraciones que podemos usar en nuestro UIButton. A partir de ahora explicaremos nuevas propiedades que podemos usar.
Configuración 2 de UIButton
Vamos a crear la siguiente configuración
Para ver los cambios de diferentes UIButton vamos a ir apilándoloes en nuestro ViewController.
Hemos usado otra configuración de UIButton.Configuration, en este caso es bordered()
Usamos una propiedad llamada titleAlignment para centrar el texto de nuestro UIButton
Añadimos un padding a nuestra imagen
Indicamos donde queremos mostrar nuestra imagen, en este caso la mostramos a la derecha del texto, pero en los siguiente ejemplos la mostraremos arriba del texto y debajo del texto.
Vamos a ver otra configuración de UIButton
Configuración 3 de UIButton
Vamos a crear la siguiente configuración:
Hemos creado un nuevo UIButton llamado swiftBetaButton3, fíjate que vamos apilando cada uno de ellos.
En este caso hemos usado 3 propiedades nuevas:
Usamos buttonSize para cambiar el tamaño de nuestro UIButton. En este caso hemos usado .large, pero podemos usar otros valores (es un enum)
Usamos .baseBackgroundColor para cambiar el color de nuestro UIButton
Usamos .baseForegroundColor para cambiar el color del texto e icono de nuestro UIButton
Si te has fijado, al pulsar cualquiera de los 3 UIButtons anteriores, no se realiza ninguna acción, en el siguiente ejemplo vamos a crear una nueva configuración para nuestro UIButton y aparte le vamos a dar una acción. Cuando un user pulse nuestro UIButton, en nuestro ejemplo se printará un mensaje por consola
Configuración 4 de UIButton
Vamos a crear la siguiente configuración:
Vamos a crear una propiedad nueva llamada swiftBetaButton4
En este caso, cuando instanciamos nuestro UIButton, tenemos un parámetro nuevo llamado primaryAction, aquí dentro vamos a crear un UIAction
Dentro del UIAction vamos a llamar a un método llamado showMessage(), este método va a tener la lógica que querams cuando el user lo pulse.
Método showMessage(), con toda la lógica que queremos aplicar, en este caso se printa un mensaje por consola
Ahora podemos compilar nuestra app y probarla. Si pulsamos nuestro último UIButton vemos que se printa un mensaje por consola.
Conclusión
Hoy hemos aprendido a crear un UIButton con distintas configuraciones, a partir de iOS 15 añadieron un nuevo componente que nos permite configurar un UIButton de una manera muy sencilla.
UIKit es el framework de UI que usamos para crear las pantallas de nuestras app. Con la llegada de SwiftUI, poco a poco hay más apps que están migrando a esta tecnologia, pero aún así saber UIKit es indispensable en una empresa que aún trabaje con UIKit
Aprende a usar childViewControllers en tu app iOS. A medida que creamos una app podemos extraer responsabilidades en ViewControllers. De esta manera simplificamos mucho nuestro código y lo podemos reutilizar en múltiples partes de nuestra app.