SnapKit snp не может быть назначен UIHostingController

Во многих проектах я использую SnapKit. И в новом проекте тоже. В проекте у меня есть ViewController, который связан с представлением SwiftUI:

class OfficeListViewController: UIViewController {
 override func viewDidLoad() {
   super.viewDidLoad()
   let vc = UIHostingController(rootView: OfficeListView())
   addChild(vc)
   view.addSubview(vc.view)
   vc.didMove(toParent: self)
   vc.view.translatesAutoresizingMaskIntoConstraints = false

   // Here I want to set constraints to vc
   vc.snp // throws error: Value of type 'UIHostingController<OfficeView>' has no member 'snp'
 }
}

struct OfficeListView: View {
  var body: some View {
    Text("View")
  }
}

Но выдает ошибку:

Значение типа «UIHostingController» не имеет члена «snp».

Как правильно использовать с ним SnapKit?


person aturan23    schedule 18.07.2020    source источник
comment
UIHostingController — это просто подкласс UIViewController. Я не знаю, что вы имеете в виду под vc.snp, но если вы хотите установить ограничения, используйте vc.view, как обычно.   -  person Asperi    schedule 18.07.2020


Ответы (1)


UIHostingController является просто подклассом UIViewController и отображает представление SwiftUI внутри обычного UIView. Если вы хотите установить ограничения, вам следует использовать vc.view, как мы обычно делаем с представлениями.

person Asperi    schedule 18.07.2020