Sobes.tech
Junior — Middle

Em que cenários é aconselhável usar UIHostingController numa aplicação?

sobes.tech IA

Resposta da IA

O UIHostingController é utilizado para integrar SwiftUI em aplicações UIKit. Isto é especialmente útil quando é necessário:

  • Incorporar uma vista SwiftUI num controlador UIKit existente.
  • Migrar gradualmente uma aplicação de UIKit para SwiftUI.
  • Aproveitar as vantagens do SwiftUI (por exemplo, UI declarativa) sem uma reescrita completa da aplicação.

Exemplo de utilização:

import SwiftUI
import UIKit

struct MySwiftUIView: View {
    var body: some View {
        Text("Olá do 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)
    }
}

Desta forma, o UIHostingController funciona como uma ponte entre UIKit e SwiftUI.