Usando UIKit en SwiftUI

Marcelo Laprea
01 febrero, 20231min de lectura
Para usar vistas de UIKit en SwiftUI necesitamos el protocolo de SwiftUI UIViewRepresentable.
Conformar el protocolo UIViewRepresentable
Primero se crea una estructura implementando los dos métodos requeridos que son:
makeUIView: Se crea una instancia de la vista deUIKitque se quiere usar y se retornaupdateUIView: Se actualiza el estado de la vista deUIKitbasado en los cambios en la vista deSwiftUI
Aquí vemos un ejemplo de como usar el protocolo UIViewRepresentable para integrar un UILabel en SwiftUI:
struct LabelView: UIViewRepresentable {let text: Stringfunc makeUIView(context: Context) -> UILabel {let label = UILabel()label.text = textreturn label}func updateUIView(_ uiView: UILabel, context: Context) {uiView.text = text}}
Ahora se puede usar esta estructura en una vista en SwiftUI como cualquier otra vista:
struct ContentView: View {var body: some View {LabelView(text: "Hola Mundo")}}
¿Ahora qué?
Podemos aprender a hacer uso del Coordinator y poder implementar los delegados de una vista de UIKit.