Autolayout,保留更大屏幕的按钮间距

时间:2015-04-06 15:43:30

标签: ios autolayout

我在界面构建器中有这样的设置:

enter image description here

(iphone5尺寸)。如果屏幕尺寸增大,我希望按钮保持在该布局中,即加宽(但按钮保持相同的尺寸)。如果我在屏幕较大时将顶部两个按钮固定到各自的容器边缘,它们将彼此相距太远。我有底部按钮增加其大小。我怎样才能做到这一点?我尝试在每个按钮和容器边缘之间放置一个透明的UIView,但是无法以这种方式工作。有人可以给我一个关于如何做到这一点的指针吗?谢谢!

2 个答案:

答案 0 :(得分:2)

假设您已经有宽度,高度和y约束,为了创建正确的x约束,您可以尝试以下方法:

  1. 检查Horizontal Center in Container选项
  2. 选择您的按钮,然后双击新创建的约束Align Center X to
  3. Second ItemCenter X更改为Trailing
  4. 输入constant值以抵消排名
  5. 对两个按钮执行此操作。第二个按钮的constant值应为第一个按钮的负值,其Second Item应为Leading

    enter image description here

    enter image description here

    enter image description here

    <强>结果
    这种方法将在所有尺寸类别上产生相等的间距 enter image description here enter image description here

    唯一的缺点是间距不动态。为此,您需要在它们之间使用一些占位符视图。

答案 1 :(得分:2)

我想说你可以采取两种方法:

假设按钮对宽度和高度有约束。

1)使用透明视图,在其包含的视图中水平居中。然后将左侧按钮后缘固定到透明视图,将右侧按钮前缘固定到中心。您可以选择如何定义垂直位置。

2)在主视图中添加透明容器视图,然后在此视图中移动两个按钮。将两个按钮分开所需宽度,然后将其他按钮边缘固定到尺寸为0pts的包含视图。最后,在视图中将新包含视图水平居中。您需要从顶部或底部定义此容器视图的高度。

第二个可能更容易在故事板中执行。