Sobes.tech
Junior — Middle

¿En qué escenarios es conveniente utilizar UIHostingController en una aplicación?

sobes.tech AI

Respuesta de la IA

UIHostingController se utiliza para integrar SwiftUI en aplicaciones UIKit. Esto es especialmente útil cuando se necesita:

  • Incorporar vistas de SwiftUI en un controlador UIKit existente.
  • Migrar gradualmente una aplicación de UIKit a SwiftUI.
  • Aprovechar las ventajas de SwiftUI (por ejemplo, UI declarativa) sin una reescritura completa de la aplicación.

Ejemplo de uso:

import SwiftUI
import UIKit

struct MySwiftUIView: View {
    var body: some View {
        Text("Hola desde SwiftUI")
    }
}

class MyViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        let swiftUIView = MySwiftUIView()
        let hostingController = UIHostingController(rootView: swiftUIView)
        addChild(hostingController)
        hostingController.view.frame = view.bounds
        view.addSubview(hostingController.view)
        hostingController.didMove(toParent: self)
    }
}

De esta manera, UIHostingController actúa como un puente entre UIKit y SwiftUI.