Sobes.tech
Junior — Middle

In quali scenari è opportuno utilizzare UIHostingController in un'applicazione?

sobes.tech AI

Risposta dell'AI

UIHostingController viene utilizzato per integrare SwiftUI nelle applicazioni UIKit. Questo è particolarmente utile quando si deve:

  • Inserire una vista SwiftUI in un controller UIKit esistente.
  • Migrare gradualmente un'applicazione da UIKit a SwiftUI.
  • Utilizzare i vantaggi di SwiftUI (ad esempio, UI dichiarativa) senza una completa riscrittura dell'app.

Esempio di utilizzo:

import SwiftUI
import UIKit

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

In questo modo, UIHostingController funge da ponte tra UIKit e SwiftUI.