iOS - 均匀分布四个视图

时间:2016-03-24 10:30:13

标签: ios autolayout

我想在UIView中添加四个视图。我想要两行两列。 因此,顶行是父视图高度的50%,列是父视图宽度的50%。

我如何在自动布局中执行此操作?我考虑过设置相等的宽度和高度,但这导致没有为自动布局提供足够的约束。

我该怎么做才能做到这一点?

3 个答案:

答案 0 :(得分:2)

  1. 根据视图,将所有4个视图(左,右,上,下)的边距约束设置为超视图或邻居视图。例如,对于左上角视图,设置左上角和左上角的边距以及右下角的其他视图。
  2. Ctrl +从所有其他视图拖动到第一个视图并设置equal widthequal height约束。
  3. 确保所有视图的边距相等(如果您不需要间距,则所有视图的常量均为0)。如果它们没有相同的边距,则会发生冲突。

    -------------------
    |    |       |    |
    |-[view1]-[view2]-|
    |    |       |    |
    |-[view3]-[view4]-|
    |    |       |    |
    -------------------
    
  4. -|代表您需要的边距。还

    `view2.hight == view1.height` 
    `view2.width == view1.width` 
    `view3.hight == view1.height` 
    `view3.width == view1.width` 
    `view4.hight == view1.height` 
    `view4.width == view1.width`
    

答案 1 :(得分:1)

也可以使用乘数

设置所有视图

可以在有/不限制边距的情况下完成,但如果取消选中'约束到边距'以便获得全区

会更好

详细步骤:

  1. 左上角视图约束:
    设置顶部,左边约束到superview
    设置相等的宽度,高度到superview
    选择相等的高度约束并将乘数设置为0.5
  2. Set multiplier

        对等宽度约束也这样做

    1. 右上角视图约束:
      设置顶部,右边约束到superview
      选择左上角视图和右上角视图,然后选择相等宽度,等于heighta

    2. 左下角视图约束:
      设置底部,左边约束到superview
      选择左上角视图和左下角视图,然后选择相等宽度,相等高度

    3. 右下角视图约束:
      设置底部,右边约束到superview
      选择左上角视图和右下角视图,选择相等宽度,相等高度

    4. 所以你的最终结果将是这样的:

      enter image description here

      您也可以参考此图像获取约束,因为我已经显示了完成后将存在的约束

答案 2 :(得分:0)

我这样做只是将四个视图均匀地放在父视图上,然后向四个子视图添加6个约束。(topbottomleft,{{1} },rightequal widths

您可以按equal heights选择四个视图,然后分别点击四个视图。

我想取消选中command,以便所有值都可以设置为0,看起来更干净。

希望有所帮助:)

See the sample image here