ios autolyouts:标签居中

时间:2015-05-04 21:13:46

标签: ios objective-c autolayout constraints

在我的应用中,我有两个UILabels可以包含不同长度的文本,取决于所选的本地化。我想将两个标签都居中到superview's水平中心。

例如:| "xxxxx""xxxx" |对于英语,它以view X为中心。在另一种情况下,它可以是| "xxxxxxxxxxxx""xxxx" |
| "xxxxxx""xxxxxxxxxx" |。如何使两个标签都居中于superview X.我收到以下结果|_______"xxxxxxxx""xxxxx..."|
|"xxxxxx"________"xxxxx"|。我希望始终根据文本长度大小居中。我怎么能在IB做到这一点?

3 个答案:

答案 0 :(得分:1)

您可以将UIView添加为两个UILabel的容器视图。 在此容器视图中添加两个UILabel,然后在左UILabel和右UILabel之间添加间距。然后将水平中心添加到容器视图中。 希望这会有所帮助!

答案 1 :(得分:1)

最简单的方法(但并非总是可行)是将这两个标签连接成一个用两个字符串构建的标签,然后将这个标签居中。如果无法加入这些字符串 - 请使用@ SFF的解决方案

答案 2 :(得分:0)

为什么不使用subString并且只使用一个标签??? 呵呵,这很简单......

如果你的想法如下:我想:

  1. 设置属性uilabel is fitsize

  2. 设置2 label之间的autolayout horizo​​l间距为0

  3. Cacutator总宽度(2个标签)和宽度的parentView

    a = parentView.frame.size.width - (lbl1.frame.size.width + lbl2.frame.size.width)

  4. 设置autolayout lbl1:容器中的前导空格= a / 2

  5. 设置autolayout lbl2:容器中的尾随空格= a / 2