Sobes.tech
Junior — Middle

In welchen Szenarien ist die Verwendung von UIHostingController in einer Anwendung sinnvoll?

sobes.tech KI

Antwort von AI

UIHostingController wird verwendet, um SwiftUI in UIKit-Anwendungen zu integrieren. Dies ist besonders nützlich, wenn:

  • Eine SwiftUI-Ansicht in einen bestehenden UIKit-Controller eingebunden werden soll.
  • Eine Anwendung schrittweise von UIKit auf SwiftUI migriert werden soll.
  • Die Vorteile von SwiftUI (z.B. deklarative UI) genutzt werden sollen, ohne die gesamte Anwendung neu zu schreiben.

Beispiel für die Verwendung:

import SwiftUI
import UIKit

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

Auf diese Weise dient UIHostingController als Brücke zwischen UIKit und SwiftUI.