Xcode 框架矩形和对齐矩形之间的差异

Xcode 框架矩形和对齐矩形之间的差异,xcode,interface-builder,xcode6,Xcode,Interface Builder,Xcode6,有人能解释一下大小检查器中的框架矩形和对齐矩形之间的区别吗 框架描述了在屏幕上放置视图的位置以及视图的大小。布置视图时,约束使用称为对齐矩形的相关几何元素 对齐矩形基于项目内容的表示,自动布局使用对齐矩形而不是项目的框架矩形。 通过使用对齐矩形而不是框架,“自动布局”确保在布局过程中正确考虑关键信息,如视图的边和中心。 与框架不同,视图的对齐矩形应限于核心视觉元素。在视图上绘制新项目时,其大小应保持不变 考虑图-1的左侧。它显示了用阴影和徽章绘制的视图。在布置此视图时,您希望自动布局仅将核心元素

有人能解释一下大小检查器中的框架矩形对齐矩形之间的区别吗


框架描述了在屏幕上放置视图的位置以及视图的大小。布置视图时,约束使用称为对齐矩形的相关几何元素

对齐矩形基于项目内容的表示,自动布局使用对齐矩形而不是项目的框架矩形。 通过使用对齐矩形而不是框架,“自动布局”确保在布局过程中正确考虑关键信息,如视图的边和中心。 与框架不同,视图的对齐矩形应限于核心视觉元素。在视图上绘制新项目时,其大小应保持不变

考虑图-1的左侧。它显示了用阴影和徽章绘制的视图。在布置此视图时,您希望自动布局仅将核心元素与蓝色矩形对齐,而不是将装饰对齐

图1:视图的对齐矩形(中心)严格地指的是要对齐的核心视觉元素,没有修饰

图1中的中心图像高亮显示视图的对齐矩形。此矩形不包括所有装饰,例如阴影和徽章。这是你希望自动布局在其工作时考虑的一部分。 图1中的右侧矩形包含视图的所有可视元素。它包含阴影和徽章。如果在布局过程中考虑这些装饰,它们可能会偏离视图的对齐特征(如中心、底部和右侧)

图2“自动布局”在超级视图中居中布局时仅考虑该视图的对齐矩形。阴影和徽章不会影响其位置

参考资料:

来自苹果的旧版本:

布局在对齐矩形上运行,而不是在框架上运行 在考虑布局时,请记住控件的框架是 不如它的视觉范围重要。因此,诸如 阴影和雕刻线通常应忽略 布局的目的。界面生成器在定位时忽略它们 在下面的示例中,画布上的视图是Aqua指南( 蓝色虚线)与按钮的可视范围对齐,而不是 使用按钮的边框(纯蓝色矩形)。

允许基于内容的表示而不是基于 框架视图提供一个对齐矩形,这是 布局实际上是在上运行的。确定覆盖是否正确 在OS X上正确,您可以将
NSViewShowAlignmentRects
默认设置为
YES
绘制对齐矩形

因此,Xcode中的弹出菜单提供了基于对齐矩形或框架矩形查看和编辑视图大小和位置的功能