如果需要,如何通过自动布局缩小UILabels的高度

时间:2014-04-19 04:29:59

标签: ios objective-c autolayout

我的View Controller上有几个UILabels。在纵向模式下工作时,我增加了每个标签的高度,使边界全部接触 - 它们堆叠在一起,两者之间没有任何间距。我的顶部和底部有一个很大的标题和按钮。我已将顶部标题固定为始终位于顶部中央,底部按钮固定在底部。我还修改了中间标签在视图中垂直和水平居中。这一切都很有效。我的问题是,我似乎无法弄清楚如何使标签全部适合屏幕,并且当高度降低时,大多数垂直居中。我希望它能够根据需要减少每个标签的高度(但不要太短以致文本被剪裁)。我已经尝试将高度固定,然后将它们更改为小于或等于,但在这样做时,它想要更新框架以移除额外的高度,导致按钮不再堆叠在彼此的顶部。然后,如果我设置垂直间距约束,它将被修复,因此如果我使用标准值,它将导致标签在Portrait中太靠近,或者如果我使用固定数字,它们将无法调整以适应Landscape。 / p>

我需要做些什么来扩展标签以填充大部分视图,在纵向上缩小,在3.5英寸屏幕上缩小一点,然后在横向时真正收缩?标签应该全部集中在一起,基于那个始终居中的中间标签。这基本上是我想要获得的:

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

您要做的是将标签的高度设置为彼此相等。然后为每个标签之间以及L / R侧和顶/底侧之间的距离提供约束。这样,当屏幕高度缩小时,标签会缩小。