内在内容大小与对齐矩形

Posted

技术标签:

【中文标题】内在内容大小与对齐矩形【英文标题】:Intrinsic Content Size vs Alignment Rect 【发布时间】:2017-08-24 16:47:45 【问题描述】:

您什么时候需要在某些 UIView 子类中覆盖alignmentRect 而不是intrinsicContentSize?

只是因为位置和大小不同吗?如果你提供一个alignmentRect,内容大小会被忽略吗?

【问题讨论】:

【参考方案1】:

intrinsicContentSize 用于告诉布局系统视图的大小。使用它来通知布局系统根据其内容绘制视图的大小。内容大小,而不是位置。

对于定位,你应该看两件事:

layoutMargins,用于确定视图内部的布局(即stackView的内容的左右填充),alignmentRectInsets,用于通知对象持有你的观点它应该如何对齐你的观点。例如,如果您有阴影或附加视图(如通知点),您可能希望将视图放置在主要特征的中心,不包括阴影或点的宽度/高度。

Carpeaqua 的文章 Auto Layout in ios 8 - Layout Margins 很好地用示例解释了布局边距,Use Your Loaf 的文章 Auto Layout and Alignment Rectangles 很好地解释了解释并展示您可能想要使用alignmentRectInsets 的原因。

【讨论】:

以上是关于内在内容大小与对齐矩形的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 上,边距、边缘插入、内容插入、对齐矩形、布局边距、锚点......有啥区别?

在 ScrollView / GeometryReader 视图中将矩形与底部对齐不起作用

iOS 9 自动布局对齐矩形问题

查找覆盖原始矩形的旋转矩形的大小

n个矩形的交点 - 恰好是k个矩形相交的区域的最大数量

KineticJS 调整文本大小以适应带有一些填充的矩形