使用 AutoLayout 约束向 UIView 添加填充

Pat*_*bee 4 uiview ios autolayout

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

简单的全宽样品

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

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

NRi*_*itH 5

相对于边距的布局是 iOS 8 独有的功能,您看到的将约束设置为简单偏移量的示例可能是 iOS 8 之前的版本。如果您仅针对 iOS 8,那么一定要使用边距。为此layoutMargins,将蓝色容器的属性设置为将UIEdgeInsetsMake(0, 10, 0, 10)左右边缘填充 10,或设置NSLayoutAttributeLeftMarginNSLayoutAttributeRightMargin属性,然后将黄色和红色框限制在这些边距上。有关更多详细信息,请参阅此文章