Sobes.tech
Junior — Middle

V jakých scénářích je vhodné použít UIHostingController v aplikaci?

sobes.tech AI

Odpověď od AI

UIHostingController se používá k integraci SwiftUI do aplikací UIKit. To je obzvlášť užitečné, když:

  • Chcete vložit SwiftUI pohled do stávajícího kontroleru UIKit.
  • Postupně migrujete aplikaci z UIKit na SwiftUI.
  • Chcete využít výhod SwiftUI (například deklarativní UI) bez úplné přestavby aplikace.

Příklad použití:

import SwiftUI
import UIKit

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

Tímto způsobem UIHostingController slouží jako most mezi UIKit a SwiftUI.