如何基于子视图与自动布局layouted大小调整父视图(How to resize a parent

2019-07-02 12:10发布

我准备这类似于在屏幕截图所示的例子中自定义视图。 我在运行时添加的所有用户界面组件(标签,文本字段,单选按钮,..)。 要定位我使用的元素自动布局的限制。 这部分工作正常为止。

元件的数量的语境而变化。 我不知道如何使用自动布局约束来动态调整父视图 (视图的最有可能的高度)。 因此,视图的限制应当考虑用于当前连接的子视图定义的高度和利润率。

Answer 1:

我用下面的设置做到了这一点:

  • 容器视图没有高度约束
  • 顶部子视图具有从容器视图的顶部间隔开的约束
  • 所包含的观点都有它们之间的间距限制
  • 底视图具有间距约束到容器视图的底部

自动布局系统通过调整容器以适应其内容满足这些约束。

当然,你需要为你改变的内容动态地设置的约束。



Answer 2:

如果你是使用NSStackView然后确保你不设置约束为它的高度和宽度,并确保各方锚定。

另外,还要确保你的内容抱死属性设置为1000。



文章来源: How to resize a parent view based on the size of subviews layouted with Autolayout