【发布时间】:2013-11-12 08:42:46
【问题描述】:
我有两个标签必须水平居中的非常简单的要求。所以,我选择了它们并选择了编辑器->对齐->水平居中。然后将顶部空间添加到容器约束中。我还需要根据内容大小缩小/增长标签。但是,IB 显示错误和几个警告。我可以通过在它们之间添加销(水平空间)来使标签缩小/增长,但在这种情况下它们不会居中。以下是截图:
以下是错误和警告:
UPDATE theraven 提出了一个有趣的建议,即使用虚拟视图将其水平居中并将两个标签固定在其上。我已经删除了所有现有的约束,添加了这个虚拟视图和中心 X + 中心 Y 约束。然后将两个标签固定在上面(添加了水平空间限制)。但是,我仍然收到一堆错误和警告:
UPDATE2 刚刚更新问题,但仍未找到有效答案。 @Theraven 解决方法适用于 iPhone4、iPhone4S、iPhone5 和 iPhone5S,但它不是真正的居中而是一种解决方法。因此对于 iPhone6 和 iPhone6 Plus,它不起作用,因为前导和尾随空格将被固定,并且不会自动调整大小以适应更大的宽度。
【问题讨论】:
-
straightforward requirements where two labels must be centered horizontally- 你想让你的视图分成两部分(左和右),然后标签在每个部分居中吗? -
@ArkadiuszHolko 是的。
-
这仍然是模棱两可的。您是否希望左边缘第一个标签第二个标签右边缘之间的空间相等。或左边缘第一个标签屏幕中心和屏幕中心第二个标签右边缘之间的相等空间。在第二种情况下,中心空间的差异会更大。一旦你澄清我会修正我的答案。
标签: ios objective-c interface-builder autolayout uilabel