UIView.layoutMargins 和 AlignmentRect 的区别

the*_*end 2 cocoa-touch uiview ios autolayout

我正在弄清楚(再次)如何为自定义 UIView 实例设置边距。根据我的回忆,我必须通过alignmentRectInsets 方法设置AlignmentRect。但这不适用于自动布局。在 google 上搜索我发现还有一个名为 layoutMargins 的属性。

所以问题是 layoutMargins 和 alignmentRect 是做什么的?他们互相影响吗?完全不同的东西?

Dav*_*ton 5

layoutMargins确定如何使用自动布局定位视图内的事物。通常这用于使对象与视图边缘保持特定距离。

alignmentRectInsets用于告诉自定义视图之外的对象如何与其对齐。例如,您可能有一个带有波浪形或倾斜顶部的视图。将其他对象与视图顶部对齐可能看起来不太正确,因此您可以在顶部对齐上设置一个插图以进行补偿。

你可能关心layoutMargins. 我从未真正见过有人使用alignmentRectInsets.