Ios 如何创建高度取决于子视图的视图?

Ios 如何创建高度取决于子视图的视图?,ios,layout,Ios,Layout,这与询问如何在iOS中实现wrap\u内容相同 然而,我没有找到合适的解决办法。几乎所有的解决方案都建议重写intrinsicContentSize()。如果视图不知道有关其子对象高度的任何信息,该怎么办 情况是这样的: 我想创建一个BaseDialogViewController,负责模糊背景并显示对话框容器。然后,如果我想实现一个对话框,我将扩展BaseDialogViewController并将对话框内容添加到容器视图中 因此,容器需要根据其内部内容物的总高度调整其高度 如何实现这一点?只

这与询问如何在iOS中实现
wrap\u内容
相同

然而,我没有找到合适的解决办法。几乎所有的解决方案都建议重写
intrinsicContentSize()
。如果视图不知道有关其子对象高度的任何信息,该怎么办

情况是这样的:

我想创建一个BaseDialogViewController,负责模糊背景并显示对话框容器。然后,如果我想实现一个对话框,我将扩展BaseDialogViewController并将对话框内容添加到容器视图中

因此,容器需要根据其内部内容物的总高度调整其高度


如何实现这一点?

只需为从子视图到容器视图的所有边框设置约束即可。您应该确保子视图可以通过为其子元素的所有边框设置约束等方式,从其包含的元素计算其大小

容器视图应该只对其位置具有附加约束(例如,在其父视图中居中)


其余部分由自动布局完成。它将计算从具有固定或固有大小的最内层元素(例如标签、文本字段、按钮)到外部元素的大小。

我意识到,如果指定了子视图高度,或具有固有高度

您可以设置从父视图底部到子视图底部的约束,通过设置该约束,父视图的高度将能够根据子视图的底部位置而变化

这是我从学校里发现的