使用自动布局水平对齐 5 个按钮的最佳方法是什么

What is the best approach for horizontally aligning 5 buttons with Autolayout

我知道这是一个新手风格的小问题,但我找不到任何关于这个的主题,我必须在我的视图控制器中水平对齐多个按钮。

我尝试了 2 种方法,第一种是将它们与 UIViews 和 <= width changed constraints priority 等分开。第二个没有 UIViews,但按钮在右舷对齐得很好。我已经看过斯坦福汽车布局课程。但我找不到任何解决方案。我不知道如何对齐多个按钮或视图,有人可以帮助我学习和解决这个问题吗?

谢谢!

您应该使用水平堆栈视图。您将堆栈视图的约束设置为其父视图,然后放入您的按钮。您需要在属性检查器中调整间距、拉伸以填充等,它会完美对齐。

As i understand your horizontally aligning 5 buttons problem with Autolayout, I make some draw to how you fix it. It has following:


希望对你有所帮助。

您只需在相邻按钮之间设置前导、尾随和等宽约束。

步数(这里只考虑水平约束):

  1. 将第一个按钮的前导约束添加到父视图(或左侧兄弟视图)。
  2. 在以下之间添加水平间距约束:
    • 第一个按钮和第二个按钮。
    • 第二个按钮和第三个按钮。
    • 第三个按钮和第四个按钮。
    • 第四个按钮和第五个按钮。
  3. 将第五个按钮的尾随约束添加到父视图(或右侧兄弟视图)。
  4. 在以下之间添加等宽约束:
    • 第一个按钮和第二个按钮。
    • 第二个按钮和第三个按钮。
    • 第三个按钮和第四个按钮。
    • 第四个按钮和第五个按钮。

如果采用这种方法,则无需添加额外的视图来对齐按钮。请查看下面的屏幕截图以更好地理解这一点。