【问题标题】:Center Label vertically between two UIButton's在两个 UIButton 之间垂直居中标签
【发布时间】:2020-12-30 00:28:36
【问题描述】:

每个人都有一些麻烦,我在使用苹果登录按钮和登录按钮之间垂直居中或标签。请记住,我正在以编程方式创建 SIWA 按钮并以这种方式设置约束。我尝试获取两个按钮的原点 y 坐标,将它们除以 2,然后将登录按钮的垂直约束设置为或标签为 (loginButton.frame.origin.y - (除以 2 值)),但是似乎不起作用。谢谢你的帮助。

【问题讨论】:

  • 请分享您用于创建此布局的代码。

标签: swift autolayout uikit


【解决方案1】:

有几种方法可以解决这个问题:

  1. 将 2 个按钮和标签放在垂直 UIStackview 中,分布设置为等间距。 Stackview 也非常灵活,尤其是在更复杂的布局中。

  2. 创建一个位于两个按钮之间的空 UIView,然后将标签添加为子视图并将其居中。或者,您可以在标签上方和下方创建 2 个具有相等高度约束的间隔视图:

    V:|[Button][space][Label][spacer2(==spacer1)][Button2]|

【讨论】:

    【解决方案2】:

    非常简单的方法:默认情况下,UILabel 在其框架中垂直居中其文本。

    所以,

    • 将标签的顶部约束到顶部按钮的底部
    • 将标签底部约束到底部按钮的顶部

    全部完成:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-01
      • 2012-12-28
      • 2017-10-10
      • 1970-01-01
      • 2019-12-30
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多