如何为所有 iphone 设备在同一行中设置多个 UIlabel

How to set multiple UIlabel in same line for all iphone devices

我正在为 4 个 UILabel 设置约束,但它在 iphone 5s 中无法正常工作,在 6 和 6 plus 中可以正常显示。如何设置合适的约束?

它在 iphone 5 秒后向右移动。

第一个标签,我设置了 x 位置,然后在标签之间设置了 space。然后我从尾随 space 设置了第四个标签 <=。但是没有得到正确的结果。

Select 所有标签,然后添加 垂直中心约束:

所以现在你的标签应该对齐了:

显然,只在一个标签上添加 x 位置或边距约束以保持对齐。

如果这能解决您的问题,请告诉我:)


编辑 1:正如 Caleb 所说,我的建议只有在标签的字体大小相同时才有效。如果不是,您应该只使用基线约束。

由于您的目标似乎是显示带有一些链接的单行文本,您最好为所有文本使用一个视图。 UILabel 有一些第三方替代品支持 Nimbus and TTTAttributedLabel 等链接。或者,您可以将 UITextView 实例配置为像标签一样工作(关闭滚动和编辑),并且您可以启用超链接。

使用可以正确处理超链接的单一视图应该可以简化代码并消除约束问题,同时确保文本布局正确。例如,如果文本需要换行到下一行,使用单个视图会更容易完成。

Massimo Polimeni 的回答很好地涵盖了您提出的问题的答案:如果您想要放置多个标签以使它们的文本对齐,请在标签之间使用 Baselines 约束。