使用 AutoLayout 约束向 UIView 添加填充

Adding padding to a UIView using AutoLayout constraints

想象一个简单的 UIView,就像下面的蓝色全宽容器。它包含一个红色框和一个黄色框。

红色和黄色框从容器中插入 10px(我知道它在图像中看起来不像。请原谅我的垃圾图)。我可以通过在与 UIView(蓝色)相关的黄色框上设置一个左约束来实现这一点,常数为 10.0。

然而这是正确的吗?我应该使用 LayoutMargins 属性 还是 XXXXMargin 布局属性?许多例子我都见过简单的从左或右偏移

相对于边距的布局是 iOS 8 独有的功能,您看到的将约束设置为简单偏移的示例可能是 iOS 8 之前的。如果您的目标是iOS 8只,那就一定要用边距。为此,将蓝色容器的 layoutMargins 属性 设置为 UIEdgeInsetsMake(0, 10, 0, 10) 以将左右边缘填充 10,或者设置 NSLayoutAttributeLeftMarginNSLayoutAttributeRightMargin 属性,然后将黄色和红色框约束到这些边距。有关详细信息,请参阅 this writeup