Swift:将标签与另一个控件居中

Posted

技术标签:

【中文标题】Swift:将标签与另一个控件居中【英文标题】:Swift: centering a label with another control in the way 【发布时间】:2015-09-01 07:03:32 【问题描述】:

我想知道是否可以将标签移动到视图的中心,即使有其他隐藏控件挡住了。我正在使用 Swift 1.2,并且我正在使用自动布局作为初始位置。

所以我真的有两个问题:

    如何将标签移到中心?我发现了很多基于原始位置移动到特定位置的示例。我只想要中心。我试过这个:

     self.labelTest.center = self.view.center
    

    它会“覆盖”隐藏控件还是我也必须移动它们?即,让他们离开 谢谢

【问题讨论】:

由于您使用的是autoLayout,所以尽量设置标签的约束而不是设置框架。 【参考方案1】:
self.labelTest.center = self.view.center

如果 autolayout 关闭,该指令不会受到 self.view 上任何其他视图的影响。但是,如果根据您设置的约束启用自动布局,它们可能会干扰视图的定位。因此,要么关闭 AutoLayout,要么确保约束不会妨碍您的视图居中。

【讨论】:

谢谢。 “确保约束不会妨碍您的视图居中。”我该怎么做?约束有其他控件,所以我怎么还能使用它们并使标签居中? 您需要向视图添加一个约束,使其保持居中。您可以以编程方式或通过情节提要添加约束。这个堆栈溢出问题检查使用自动布局使两个视图具有相同的中心。 Centering a UIView using Autolayout

以上是关于Swift:将标签与另一个控件居中的主要内容,如果未能解决你的问题,请参考以下文章

使用 Swift 以编程方式将 UIView 中的标签和图像居中对齐

如何在 Swift 的工具栏顶部居中分段控件?

使用 Swift 3 Xcode 8 居中对齐多个标签

Swift:扩展 UIStackView 以创建居中的标签列表

如何使用swift在子视图中居中标签

CSS如何让div相对body居中 而其中的控件不受影响。