垂直对齐两个标签文本

时间:2015-02-26 11:28:45

标签: ios objective-c iphone ios8 xcode6

我有2个标签,文字为

First Value :1,000       
Second Value :100

如何垂直对齐两个UILabels文本以实现如下所示(即使标签文本在冒号处垂直对齐)。

 First Value :1,000  
Second Value :100

我知道可以使用4种不同的标签。

第一张Label1:金额label1 第二个Label2:金额Label2 但是,我需要的只是在2个标签中实现它们

[NSString stringWithFormat:@"First Label1: %@",amount label1];         
[NSString stringWithFormat:@"First Label2: %@",amount label2];

并在冒号处垂直对齐

2 个答案:

答案 0 :(得分:1)

这可以通过使用AutoLayout来完成。您需要4个标签:

标题标签

'First Value'(右对齐)

'第二价值'(右对齐)

价值标签

':1,000'(左对齐)

':100'(左对齐)

您需要将两个标题标签固定为具有相等的宽度,并且您需要将两个值标签固定为具有相等的宽度。

您还需要为标题和值之间的水平间距设置约束。确保行之间的间距始终相等。

在代码中设置标签的值时,您需要确保冒号符号是值的一部分。例如。 [NSString stringwithFormat:@":%d", value];

此图片说明了所需的约束:

enter image description here

答案 1 :(得分:0)

使用Autolayout将两个标签放在UIView中,然后将视图对齐以在水平方向上对齐中心并使用视图之间的垂直间距...作为

正确的方法是使用容器视图,该视图从其子视图中获取其高度。然后将容器视图固定到单元格的中心 - 您不会将容器链接到单元格的顶部和底部边缘。

在容器内,垂直约束为| [label1] - [label2] |,这将使容器成为两个标签的高度加上空格,容器视图的中心位于两个标签之间。use two labels and then use verti