在同一行上具有相同宽度的三个标签 - 如何使用autolayout?

时间:2014-09-18 08:06:27

标签: ios7 xcode5 autolayout

我想在同一行上放置三个标签,如下所示:

|-20-<Label1>-20-<Label2>-20-<Label3>-20-|

我想要Label1,Label2&amp; Label3大小相等,动态拉伸以适应屏幕宽度。

我尝试通过指定以下约束来执行此操作:

  • Label1:left:20,right:20,top:20,Label1.width = Label2.width = Label3.width,label1.height = lable2.height = label3.height
  • Label2:left:20(与Label1相同),右:20,top:20
  • Label3:左边20(与Label2右边相同),右边:20,顶部:20

当我运行应用程序时,标签不会被拉伸以填充所有剩余空间(即整个宽度 - 4 * 20,其中20是标签之间的空格)。我希望每个标签的宽度等于(屏幕宽度 - 4 * 20)/ 3.

我错过了什么?

Tnis就是我在xcode中得到的:

enter image description here

我希望它看起来像(在Qt中完成):

enter image description here 感谢

1 个答案:

答案 0 :(得分:0)

好吧,我设法让它在Xcode 6中工作,它也适用于xcode 5。

我定义了以下约束:

  • Label1:left:相对于superview的水平空间20,top:相对于superview的35个垂直空间,width = superview.width * 1:3 + -26
  • 标签2:左:相对于标签1的水平空间20,宽度:等于label1宽度,中心y = label1 center y
  • 标签3:左:相对于标签2的水平空间20,宽度:等于label1宽度,中心y = label1 center y

优先事项都是一样的。

每当我更改手机方向时,标签都会正确拉伸。