Sobes.tech
Junior — Middle

W jakich scenariuszach warto używać UIHostingController w aplikacji?

sobes.tech AI

Odpowiedź od AI

UIHostingController jest używany do integracji SwiftUI z aplikacjami UIKit. Jest to szczególnie przydatne, gdy trzeba:

  • Wprowadzić widok SwiftUI do istniejącego kontrolera UIKit.
  • Stopniowo migrować aplikację z UIKit na SwiftUI.
  • Korzystać z zalet SwiftUI (np. deklaratywnego UI) bez konieczności pełnej przebudowy aplikacji.

Przykład użycia:

import SwiftUI
import UIKit

struct MySwiftUIView: View {
    var body: some View {
        Text("Cześć z 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)
    }
}

W ten sposób UIHostingController działa jako most między UIKit a SwiftUI.