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 deUIKit
que se quiere usar y se retornaupdateUIView
: Se actualiza el estado de la vista deUIKit
basado 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
.