У меня есть следующая конфигурация для приложения iOS:
Представление контейнера ограничено его родительским представлением UIViewController:
- Центр по горизонтали
- равной ширины
- равные днища
Встроенный контроллер подчиненного представления имеет один полный просмотр, который ограничен следующим:
- по горизонтали
- центр по вертикали
- равной ширины
- равной высоты
- постоянная высота = 200
В этот момент контроллер подпредставления должен создать представление, которое должно иметь высоту 200 и ширину экрана. Но представление контейнера помечается как нуждающееся в высоте или позиции y.
Есть ли способ заставить ограничения встроенного представления соединяться с набором внедрения?
UPDATE
Я могу использовать хук viewDidLayoutSubview()
в главном контроллере UIViewController, чтобы получить правильные размеры, вроде. Следующие работы:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
let subSize = self.subController.view.systemLayoutSizeFitting(UIScreen.main.bounds.size)
self.containerView.heightAnchor.constraint(equalToConstant: subSize).isActive = true
}
Но если он сможет это сделать, я думаю, что следующее тоже должно работать:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.containerView.heightAnchor.constraint(equalTo: self.subController.view.heightAnchor).isActive = true
}
Но эта секунда заканчивается нулевой высотой.