Sobes.tech
Junior — Middle

In welke scenario's is het zinvol om UIHostingController te gebruiken in een app?

sobes.tech AI

Antwoord van AI

UIHostingController wordt gebruikt om SwiftUI te integreren in UIKit-applicaties. Dit is vooral handig wanneer:

  • Een SwiftUI-weergave in een bestaande UIKit-controller moet worden ingebed.
  • Een app geleidelijk van UIKit naar SwiftUI moet worden gemigreerd.
  • De voordelen van SwiftUI (bijvoorbeeld declaratieve UI) zonder volledige herontwikkeling van de app willen benutten.

Voorbeeld van gebruik:

import SwiftUI
import UIKit

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

Zo fungeert UIHostingController als een brug tussen UIKit en SwiftUI.