使用自动布局保持 UILabel 居中

Posted

技术标签:

【中文标题】使用自动布局保持 UILabel 居中【英文标题】:Keep UILabel centered using Auto Layout 【发布时间】:2014-02-10 22:08:37 【问题描述】:

我试图让我的 UILabel 水平居中。我曾尝试在 IB 中设置前导和尾随,但这只是拉伸了整个标签,我需要它保持相同的大小。一切都是使用编辑器和 IB 中的 Pin 功能设置的,而不是编码。有什么建议吗?

【问题讨论】:

你在说哪个UILabel 您要居中哪个 UILabel?您是否尝试过编辑器菜单>对齐>容器中的水平中心? Align Horizo​​ntal Center 将使它在该方向居中,与此无关。我说的是图片中带有 07 的标签。 【参考方案1】:

如果您想将所有时间按钮保持在一起并与中心对齐。把他们都放在他们自己的视野里,按照你的意愿安排。然后固定视图的长度和宽度,并像 Aaron 建议的那样将其置于容器中。我相信你需要再做一个约束。也许将视图固定在顶部。希望这会有所帮助。

【讨论】:

很抱歉,除了在另一个视图中创建一个单独的视图来保持它们都居中之外,还有一种更简单的方法。 试试这个。将带有 07 的中心按钮固定到容器的中心。还将其固定到视图的顶部。这将使其保持在您想要的位置。确保还固定宽度和高度。然后将其他按钮一次一个地放在两侧。对于十个按钮,将其拖向 07,直到它卡入到位。这将产生一个约束。将此约束调整为所需的按钮之间的距离。引脚宽度和高度。对 52 按钮执行相同操作。然后对月份和秒做同样的事情。您正在做的是将它们全部分组到中心按钮。 唯一@Douglas 是我需要那个空间是可变的......纵向时靠得更近,横向时分开得更远。 你可能想试试这个教程。 raywenderlich.com/20881/beginning-auto-layout-part-1-of-2 它做的事情与你想要的相似。但是您可能必须像我说的那样固定中间的按钮,然后将两侧的按钮固定到边缘。将其余按钮放入后,使它们之间的约束大于或小于,以便它们会改变。确保固定所有按钮的宽度和高度。最后更改按钮之间约束的优先级。在右侧窗格中执行此操作。但是让它们都像 999 之类的一样。 那些教程没有任何关于如何设置多个标签以相对于方向保持等距的内容。【参考方案2】:

似乎太明显了,但是您是否尝试过宽度 = XXX 的 nsconstraint。标签应该说相同的宽度,并且前导尾随应该保持原样。

【讨论】:

这就是问题所在。我不希望他们固定到超级视图。然后,当我进入横向模式时,标签之间的距离并非都是等距的。中心的一个是居中的,其他的都太多了。 您是否尝试过将每个“时间”标签的前导和尾随设置为它旁边的标签? 是的...然后我最终将它们全部粘在屏幕的一侧或另一侧。【参考方案3】:

为了保持 UILabel 水平居中,添加以下约束:-

    标签的宽度限制。 标签的高度限制。 垂直放置标签的顶部/底部约束。 容器中的水平中心。

【讨论】:

以上是关于使用自动布局保持 UILabel 居中的主要内容,如果未能解决你的问题,请参考以下文章

使用自动布局 Xcode 居中

使用自动布局在 UITableViewCell 中将 UILabel 居中

如何使用自动布局在屏幕中水平和垂直居中 UILabel?

ios 6:使用自动布局约束垂直居中 UILabel

使用自动布局将 UIButton 和 UILabel 居中

自动布局在 x 轴上居中 uilabel 适合内容,uiimage 跟随在左侧