Sobes.tech
Назад к вопросам
Junior — Middle
69

В каких сценариях целесообразно использовать UIHostingController в приложении?

Ответ от нейросети

sobes.tech AI

UIHostingController используется для интеграции SwiftUI в UIKit-приложения. Это особенно полезно, когда нужно:

  • Внедрить SwiftUI-вью в существующий UIKit-контроллер.
  • Постепенно мигрировать приложение с UIKit на SwiftUI.
  • Использовать преимущества SwiftUI (например, декларативный UI) без полной переработки приложения.

Пример использования:

import SwiftUI
import UIKit

struct MySwiftUIView: View {
    var body: some View {
        Text("Привет из 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)
    }
}

Таким образом, UIHostingController служит мостом между UIKit и SwiftUI.