我有一个视图,它始终具有恒定的高度。在这个视图中有三个标签,顶部标签可以长到两条线,其余的固定在一条线上。
所有标签的前缘和后缘都固定在superview上,但所有标签的高度都是内在计算的。
对于顶部标签有一条线且顶部标签有两条线的情况,我想垂直居中所有三个标签。
我想在Xcode界面构建器中使用自动布局来完成它。
答案 0 :(得分:0)
您只能通过在视图层次结构中添加另一个UIView来实现此目的。所以这就像
UIView
-> SubView
-> lbl1
-> lbl2
-> lbl3
现在要约束,应用这些
SubView to UIView: - CenterX,CenterY,Leading = 0,Trailing = 0,Height> = 67;垂直抗压力= 751;
lbl1到子视图: - 前导= 0,尾随= 0,顶部= 0,底部到Lbl2 = 2,高度> = 21;垂直抗压力= 751;
lbl2到子视图: - 前导= 0,尾随= 0,顶部到lbl1 = 2,底部到lbl3 = 2,高度= 21;
lbl3到子视图: - 前导= 0,尾随= 0,顶部到lbl2 = 2,底部= 0,高度= 21;
对于Subview
,我根据每个标签高度计算高度为21,每个标签之间的间距为2. So SubView.Height = 21*3+2+2 = 67
。如果选择其他值,则相应地修改约束值。