Могут ли встроенные ограничения высоты UIController выходить за пределы встраивания? - PullRequest
0 голосов
/ 24 апреля 2018

У меня есть следующая конфигурация для приложения iOS:

enter image description here

Представление контейнера ограничено его родительским представлением 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
}

Но эта секунда заканчивается нулевой высотой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...