Ios 如何在多个按钮之间平均分配空间?

Ios 如何在多个按钮之间平均分配空间?,ios,iphone,autolayout,xcode6,Ios,Iphone,Autolayout,Xcode6,我在视图容器中有四个按钮。我想让按钮之间的空间根据设备的屏幕大小自动调整大小 视图容器的约束如下所示: 与Superview水平和垂直 与Superview相同 Superview的前导和尾随空间 然后,我用以下命令约束每个按钮: 等高 视图容器的垂直空间 在这一点之后,无论我尝试什么组合,我都无法使按钮之间有相等的空间。我试着给他们水平间距限制,但那没有起作用。附件是我想创造的效果。有人能解释一下如何做到这一点吗 在按钮之间放置空的ui视图,并为它们提供以下约束: 相邻按钮的前导和尾

我在视图容器中有四个按钮。我想让按钮之间的空间根据设备的屏幕大小自动调整大小

视图容器的约束如下所示:

  • 与Superview水平和垂直
  • 与Superview相同
  • Superview的前导和尾随空间
然后,我用以下命令约束每个按钮:

  • 等高
  • 视图容器的垂直空间
在这一点之后,无论我尝试什么组合,我都无法使按钮之间有相等的空间。我试着给他们水平间距限制,但那没有起作用。附件是我想创造的效果。有人能解释一下如何做到这一点吗


在按钮之间放置空的
ui视图
,并为它们提供以下约束:

  • 相邻按钮的前导和尾随空间为0

  • 等宽

  • 宽度>=0

  • 一些高度限制


这就应该做到了

用等分的
宽度创建此类
ui按钮
的最简单方法如下:

创建6个
ui按钮,如下所示:

UIButton *button1 = [UIButton buttonWithType:UIButtonTypeSystem];
button1.translatesAutoresizingMaskIntoConstraints = NO;
[button1 setTitle:@"Btn1" forState:UIControlStateNormal];
。。。对6个按钮执行6次,然后将它们添加到视图中:

[self.view addSubview:button1];
[self.view addSubview:button2];
[self.view addSubview:button3];
[self.view addSubview:button4];
[self.view addSubview:button5];
[self.view addSubview:button6];
ui视图的底部固定一个按钮

那么

然后告诉所有按钮宽度相等,并在宽度上均匀分布:

NSDictionary *views = NSDictionaryOfVariableBindings(button1, button2, button3, button4, button5, button6);

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[button1][button2(==button1)][button3(==button1)][button4(==button1)][button5(==button1)][button6(==button1)]|" options:NSLayoutFormatAlignAllBottom metrics:nil views:views]];

祝您一切顺利……

请参阅此链接:


我想这对你有用。

我已将属性更改为NSLayoutAttributeTop,现在你可以检查代码,你将能够看到UIVIEW顶部的所有按钮这并不是他所要求的。这样按钮就会占据所有的水平空间,对吗?每个按钮之间不会有任何空格。苹果在搜索“在视图之间创建相等间距”时对此进行了描述
NSDictionary *views = NSDictionaryOfVariableBindings(button1, button2, button3, button4, button5, button6);

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[button1][button2(==button1)][button3(==button1)][button4(==button1)][button5(==button1)][button6(==button1)]|" options:NSLayoutFormatAlignAllBottom metrics:nil views:views]];