2017-01-22 175 views
0

我在故事板上有4个标签,在基线对齐并且它们之间具有固定距离。 每个标签在运行时可以有不同的值,我希望这4个标签的组是水平居中的。故事板标签约束

没有成功解决它! 我试图把它们放在一个视图中并将视图居中,但它也不起作用。 也尝试玩优先级,但也没有成功或者...

是否有可能在故事板中实现这一点?

+0

什么,你可能寻找的是一个堆栈视图。 –

+0

我同意贾斯汀。如果没有堆栈视图,这是一个公平的痛苦,并且使用**堆栈视图来做**是微不足道的。 –

+0

如果每个标签之间的距离是固定的,则此解决方案正常工作,但如果它们不同,堆栈视图不允许... – Eric

回答

1

您可以通过将您的4个标签放在另一个视图中来做到这一点。添加以下约束:

  1. 设置标签之间的固定距离约束(3个约束)。
  2. 设置约束以对齐标签的基线(3个约束)。
  3. 将最左边的标签设置为包含视图的前导约束。将常数设置为0
  4. 设置从最右边的标签到包含视图的拖尾约束。将常数设置为0
  5. 设置视图高度的约束条件。
  6. 从左标签的顶部到其包含视图的顶部设置一个约束。
  7. 设置约束以水平居中视图。
  8. 设置一个约束来垂直放置视图。

视图的宽度将取决于标签的固有尺寸加上#1中距离的尺寸。该宽度将随着标签内容的变化而改变,并且该视图将保持该组居中。


Showing constraints in Storyboard

+0

@Eric,你试过这个吗?有没有关于它的东西没有用?我做了一个假设,你希望标签的宽度是动态的。如果您希望它们被修复,请为每个标签添加一个宽度限制。 – vacawama

+0

嗨VacaWama,感谢您的回答,这正是我正在寻找的。有比堆栈视图更多的约束,但我可以自定义标签和基线对齐之间的距离,正是我所需要的。再次感谢 :) – Eric

0

您可以使用堆栈信息查看该:

enter image description here

在“属性检查器”例如,您可以设置每个文本字段都有平等的宽度和它们之间的5个点的间距:

enter image description here

然后,您可以使用您的堆栈视图像你通常会做水平居中。

+0

嗨,感谢您的提示。尝试过,但在我的例子中,标签之间没有相同的空格,并且堆栈视图必须完全相同。 – Eric

+0

您是否设置了平均填充? – Emptyless

+0

是的,就我所见,如果它们处于堆栈视图中,我不能在标签之间放置水平约束。 – Eric

相关问题