繁体   English   中英

如何将两个并排的UILabel水平居中?

[英]How can I horizontally center two side-by-side UILabels?

我有一系列要水平居中(即沿X轴)的标签,如下所示:

thing1: value1
thing2: value2
etc.

自动版式似乎不允许这样做。 即使我将两者粘在一起并使用准则将其居中,中心约束也仅适用于该对中的第一个标签。

各种“事物”将具有不同的长度,我想将冒号对齐(右对齐),将左侧的值对齐(左对齐)。

有什么办法吗?

这在代码中很容易做到。 第一个标签的x偏移应为父视图的宽度与两个标签的宽度之和之差的一半。 例如:

CGFloat xOffset = ((parentView.frame.size.width - 
                   (view1.frame.size.width + view2.frame.size.width)) / 2);

// now position the first label using this offset
view1.frame = CGRectMake(xOffset, 
                         view1.frame.origin.y, 
                         view1.frame.size.width,
                         view1.frame.size.height);

// and position the second view relative to the first
view2.frame = CGRectMake(CGRectGetMaxX(view1.frame),
                         view2.frame.origin.y,
                         view2.frame.size.width,
                         view2.frame.size.height);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM