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

时间:2014-12-05 06:13:04

标签: ios iphone autolayout xcode6

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

视图容器的约束如下:

  • 水平和垂直于Superview
  • 与Superview相同
  • Superview的领先和尾随空间

然后我用:

约束每个按钮
  • 等于和高度
  • 视图容器的垂直空间。

在这一点之后我尝试的任何组合都无法使按钮在它们之间具有相等的空间。我试过给他们水平间距约束但是没有做到这一点。附件是我想创造的效果。任何人都可以解释如何实现这个目标吗?

Equally distribute space

3 个答案:

答案 0 :(得分:0)

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

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

  • 等宽

  • 宽度> = 0

  • 一些身高限制

应该做的伎俩

答案 1 :(得分:0)

创建具有等分UIButtons的{​​{1}}的最简单方法如下:

像这样创建6 width

UIButtons

...为6个按钮做6次,但是你喜欢然后将它们添加到视图中:

UIButton *button1 = [UIButton buttonWithType:UIButtonTypeSystem];
button1.translatesAutoresizingMaskIntoConstraints = NO;
[button1 setTitle:@"Btn1" forState:UIControlStateNormal];

将一个按钮修复到[self.view addSubview:button1]; [self.view addSubview:button2]; [self.view addSubview:button3]; [self.view addSubview:button4]; [self.view addSubview:button5]; [self.view addSubview:button6];

的底部

然后,

UIView

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

[self.view addConstraint:[NSLayoutConstraint constraintWithItem:button1 attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1 constant:0]];

一切顺利......

答案 2 :(得分:0)

请参阅此链接:

Evenly space multiple views within a container view

我觉得它适合你。