【问题标题】:Need assistance setting two buttons of equal width, side by side Autolayout需要帮助设置两个等宽的按钮,并排自动布局
【发布时间】:2015-06-19 15:41:34
【问题描述】:

使用自动布局,我想像这样在底部创建两个按钮

拖动两个按钮后,我设置了这样的约束

打开Back button 我设置了Leading Space to Container MarginBottom Space to Bottom Layout Guide

打开Go To Settings button 我设置了Trailing Space to Container MarginBottom Space to Bottom Layout Guide

然后我将 ctrl+DragBack buttonGo To Settings button 并设置 Equal Widths 约束,我得到了这个。

然后我将Back button 的宽度更新为与Go To Settings button 相同的101,并且所有约束都变为蓝色。

但是无论屏幕大小,我都希望两个按钮都覆盖一半屏幕,如第一个屏幕截图所示,如何做到这一点?

【问题讨论】:

    标签: ios objective-c xcode autolayout


    【解决方案1】:

    你可以像这样使用与第二个按钮相等的宽度来完成它

    输出是

    这里是apple guide

    【讨论】:

    • 请你告诉我为什么你在设置按钮上只设置了3个约束,你没有选择左边的约束。
    • 因为设置按钮的左约束是返回按钮的右约束......所以不需要设置它......对......
    【解决方案2】:

    您可以跟随布局的变化。你会得到你想要的。

    Back 按钮的布局。 Go to Setting 按钮的布局。

    【讨论】:

      【解决方案3】:

      您需要再添加一个约束 - 将按钮之间的水平间距设置为 0

      【讨论】:

      • 感谢您的回复,简单而出色的解决方案完美运行。
      【解决方案4】:

      您可以在按钮之间设置等宽约束,但您还必须告诉它们您需要哪个宽度。

      所以从一个按钮拖到超级视图,添加一个等宽约束。然后在您添加的约束的属性中,将multiplier 设置为0.5,这样您的按钮应该在屏幕的一半上。

      【讨论】:

      • 感谢您的回复,您的解决方案也有效,但 Vladimir K 解决方案有点直截了当,请您告诉我两种不同的方法,但结果相同,哪一种有效?
      • @VladimirK 的解决方案更好,选择了那个。这可能是解决这个问题的最简单方法。
      • :) Bhavin 的另一个解决方案也很简单,我很困惑,有几种方法可以解决同样的问题,哪个更好更有效?我问你是因为你有更高的回购 :)
      • 在我看来,最好的方法是为第一个按钮设置前导约束,为最后一个按钮设置尾随,为它们设置相等的宽度并将它们之间的距离设置为 0
      猜你喜欢
      • 2015-03-24
      • 1970-01-01
      • 1970-01-01
      • 2019-01-25
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      • 2012-06-25
      相关资源
      最近更新 更多