我为iPhone5开发了一个应用程序我启用了使用自动布局。我已经将每个按钮的垂直空间40带到另一个按钮。当我在iPhone4s上运行这个应用程序时,最后一个按钮没有出现.I。如何在4s.enter中运行图像说明时减少垂直间距
答案 0 :(得分:2)
您需要在每个按钮之间使用间隔视图。这样,您可以使用可变大小的空间,这取决于屏幕的高度。
像这样......
@"V:|[_spacer1][_button1][_spacer2(==_spacer1)][_button2][_spacer3(==spacer1)][_button3]...[_lastSpacer(==spacer1)]|"
然后,它将布置所有按钮,它们之间的空格相等。但是它们之间的空间会根据屏幕的高度而变化。
答案 1 :(得分:2)
如果您不想在代码中执行此操作,则必须在按钮之间添加一些隐藏的“间隔”视图,其中“等高”约束且没有明确的高度。他们会根据需要进行扩展/收缩,以便正确地按下按钮。
答案 2 :(得分:0)
虽然您可以使用透明/隐藏UIView
对象作为间隔符,但正如其他人所描述的那样,这不是必需的。您还可以通过编程方式创建约束,通过合理使用提供给constraintWithItem
方法的multiplier
值来均匀地区分它们。例如,如果您有一个UIButton
个对象数组,则可以使用以下方法垂直分隔它们:
[buttons enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:obj
attribute:NSLayoutAttributeCenterY
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeCenterY
multiplier:2.0 * (idx + 1.0)/([buttons count] + 1.0)
constant:0.0]];
}];