Sobes.tech
Junior — Middle

Milyen helyzetekben célszerű az UIHostingController használata egy alkalmazásban?

sobes.tech MI

Válasz az MI-től

A UIHostingController-t arra használják, hogy a SwiftUI-t beépítsék a UIKit alkalmazásokba. Ez különösen hasznos, amikor:

  • Egy SwiftUI nézetet szeretnénk beágyazni egy meglévő UIKit vezérlőbe.
  • Fokozatosan át akarjuk migrálni az alkalmazást UIKit-ről SwiftUI-re.
  • A SwiftUI előnyeit (pl. deklaratív UI) szeretnénk kihasználni az alkalmazás teljes újraírása nélkül.

Használati példa:

import SwiftUI
import UIKit

struct MySwiftUIView: View {
    var body: some View {
        Text("Üdv a SwiftUI-ból")
    }
}

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)
    }
}

Így a UIHostingController hidat képez a UIKit és a SwiftUI között.