如何自动设置约束以使UIViews之间的距离均匀?

时间:2018-05-19 12:17:38

标签: ios swift xcode autolayout nslayoutconstraint

我有一个ViewController,它有一些组件,UILabels和UITextFields。我希望它们之间的距离是均匀的,例如,2点顶部和底部。到目前为止,我手动调整距离。我想知道是否存在一种自动生成的方法。我尝试选择所有UIViews并设置约束,但不起作用。

实际布局:

enter image description here

当我尝试设置所有组件约束时:

enter image description here

不完美:

enter image description here

2 个答案:

答案 0 :(得分:2)

您无法通过选择所有组件来设置该常量间距,但您可以将其插入垂直UIStackview(在UIScrollView中划线)并且分发fillEqually并设置项目之间的spacing与您想要的任何常数

-> mainView
   -> scrollView
      ->contentView   
         ->stackview
            ->lbl1
            ->txtf1

答案 1 :(得分:1)

  

我希望它们之间的距离是均匀的,例如2点顶部和底部。

对于这种工作UIStackView做得最好。只需选择所有视图,然后选中Embed In Stack

enter image description here

然后指定Spacing值(注意,有时您还需要更改Axis参数,但在大多数情况下,初始值对于您的ui元素是正确的):

enter image description here

结果(所有标签之间的距离为8):

enter image description here