Sobes.tech
Junior — Middle

În ce scenarii este recomandat să folosiți UIHostingController într-o aplicație?

sobes.tech AI

Răspuns de la AI

UIHostingController este utilizat pentru a integra SwiftUI în aplicațiile UIKit. Acest lucru este deosebit de util atunci când:

  • Se dorește încorporarea unei vizualizări SwiftUI într-un controler UIKit existent.
  • Se migrează treptat o aplicație de la UIKit la SwiftUI.
  • Se doresc beneficiile SwiftUI (de exemplu, UI declarativ) fără o rescriere completă a aplicației.

Exemplu de utilizare:

import SwiftUI
import UIKit

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

Astfel, UIHostingController acționează ca o punte între UIKit și SwiftUI.