【问题标题】:Horizontally center UILabel + UIImageView in superview using autolayout使用自动布局在超级视图中水平居中 UILabel + UIImageView
【发布时间】:2014-03-08 05:18:34
【问题描述】:

我正在深入研究自动布局,并试图了解如何将多个视图水平居中,包括具有固有尺寸的视图(如 UILabel 或 UIButton)。

例如,我有一个固定宽度为 320 的自定义视图。在其中,我有两个子视图,一个 UILabel 和一个 UIImageView。我希望 UIImageView 位于 UILabel 右侧 15 像素处,并且我希望 UILabel 和 UIImageView 一起在超级视图中水平居中,但我不确定处理这个问题的最佳方法。

我应该将它们放在容器视图中并在超级视图中水平居中容器视图吗?如果是这样,如果 UILabel 具有固有大小,我如何确定该容器视图的宽度?

或者,我应该计算 UILabel 的宽度并使用该值发送两个视图的前缘/后缘,以便它们在超级视图中水平居中,而不是将它们放在容器视图中?

提前感谢您的智慧!

【问题讨论】:

    标签: ios ios7 autolayout


    【解决方案1】:

    使用容器视图是最简单的解决方案。如果您在容器视图及其标签和图像子视图之间创建约束,并且您没有在容器或标签上创建任何显式宽度约束,那么标签将自行调整大小以适应其内容,并且容器将自行调整大小适合它的子视图。然后你可以在容器和顶层视图之间创建一个水平中心约束。

    【讨论】:

      猜你喜欢
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2020-07-27
      • 2016-10-15
      相关资源
      最近更新 更多