我对iOS应用程序有以下配置:
容器视图受其父UIViewController视图的约束:
嵌入式子视图控制器具有单个完整视图,该视图受以下约束:
此时,子视图控制器应创建一个想要高200且与屏幕一样宽的视图。但是容器视图被标记为需要高度或y位置。
有没有办法让嵌入视图的约束耦合到嵌入集?
我可以使用主UIViewController中的viewDidLayoutSubview()
钩子来正确地调整大小。以下作品:
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
}
但是这第二个结果只是零高度。