
Acá les dejo una ligera introducción a un tema muuuuuuuy amplio que constantemente estamos utilizando los que desarrollamos aplicaciones con funcionalidades en UIKit las cuales queremos usar en SwiftUI o simplemente queremos usar alguna funcionalidad del SDK que aún no ha sido portada a SwiftUI, como es el caso de picker de fotos.
Acá crearán una vista sencilla con un Text y una Image lista para ser modificada cada vez que se elija una nueva imagen del controlador de selección de imágenes de la fototeca el cual está hecho en UIKit.
Es momento de crear la estructura que implemente el protocolo UIViewControllerRepresentable para hacer uso del delegado que nos otorga el picker controller de UIKit y así poder obtener nuestra imagen.
En esta última parte es momento de obtener la imagen que el usuario selecciona desde el diccionario de información que nos responde el delegado del picker controller y bueno, setear la imagen que está siendo observada por el estado de la vista de SwiftUI.
Este este pequeño curso les mostraré como resolver un problema que es más común de lo que parece y es usar cosas en SwiftUI que aún no han sido migradas de UIKit y estas pueden ser desde interfaces propias en un proyecto que ya tiene cierto tiempo de haber sido iniciado hasta ciertos componentes del mismo SDK que aún no han sido portados a esta nuevo framework de interfaz.
Acá aprenderás a:
Crear una estructura que será aquella que implementará el UIViewControllerRepresentable protocol, mismo que tiene una serie de pasos super bien definidos al momento de crearse
Crear vistas simples de SwiftUI usando componentes sencillos para mostrar texto y una imagen
Uso del UIImagePickerController que, al ser un componente de UIKit no se puede usar directamente en SwiftUI, este nos ayudará a seleccionar imágenes de la fototeca del simulador o del mismo iPhone
Uso del patrón de diseño: Delegate para obtener, a través de un coordinador, la información de la imagen en su tamaño original de nuestro picker controller que, si recordamos bien, al ser de UIKit el patrón común es delegation
Este curso se complementa super bien con mis otros dos cursos y, en caso de que no estés familiarizado con el lenguaje de programación Swift o con el framework se SwftUI te recomiendo que los revises, ya que acá se ocupa el SDK de iOS.