Ios 使用autolayout将UIButtons设置为等距

Ios 使用autolayout将UIButtons设置为等距,ios,iphone,autolayout,Ios,Iphone,Autolayout,我的问题是,我找不到一种方法来设置3个UIButton,它们彼此之间的距离相等,而2个外部按钮与左右两侧的距离相等 这基本上是一个包含3个按钮的下拉视图,x定位的约束都需要以某种方式相互关联 我在自动布局中遗漏了什么概念 自动布局不支持这种开箱即用的功能 幸运的是,有一种聪明的方法可以做到这一点。在按钮之间插入透明的ui视图s。将这些ui视图的宽度标记为彼此相等。现在,它们将在彼此之间占据相等的空间 这就是它的样子。 您可以将它们设置为相等距离。以下是一个例子: 确保为所有按钮在右侧设置占位符

我的问题是,我找不到一种方法来设置3个UIButton,它们彼此之间的距离相等,而2个外部按钮与左右两侧的距离相等

这基本上是一个包含3个按钮的下拉视图,x定位的约束都需要以某种方式相互关联

我在自动布局中遗漏了什么概念


自动布局不支持这种开箱即用的功能

幸运的是,有一种聪明的方法可以做到这一点。在按钮之间插入透明的
ui视图
s。将这些
ui视图的宽度标记为彼此相等。现在,它们将在彼此之间占据相等的空间

这就是它的样子。
您可以将它们设置为相等距离。以下是一个例子:

确保为所有按钮在右侧设置占位符,这样不会在运行时强制设置大小

将每个按钮设置为彼此等宽(选择全部并设置等宽)。然后,将宽度设置为占位符,然后在左右按钮上设置左右约束。然后在“中心”按钮上设置水平约束。然后为中心设置底部约束,并将左右垂直方向约束为中心按钮垂直方向

这与按钮宽度无关。确保设置了按钮之间的约束

运行时:

按钮宽度较小的示例:

  • 设置中间按钮2

  • 添加leftcontent视图和rightconent视图按钮2和左右空格

  • 按钮1是内容的子项和中心
  • 按钮2是右内容的子项和中心
  • 可以设置如下所示的约束:

  • 为所有3个相同的值指定Y位置
  • 给他们每个人同等的高度
  • 每个按钮的宽度相等
  • 为superview的所有3个视图和2个边框视图之间提供零水平间距

  • 这将使所有3个具有相同宽度和高度的空间相等

    检查此项,以与子空间的比例共享父空间。

    如果按钮的宽度和高度都是固定的,这可能是一个解决方案。谢谢,这对我来说应该是可行的,我希望有某种方法可以做到这一点,而不需要增加创造性。左右边距的宽度是否应该与相邻按钮之间的间距相等?