框架矩形与对齐矩形的区别

时间:2015-01-26 14:52:47

标签: xcode interface-builder xcode6

任何人都可以解释尺寸检查器框架矩形对齐矩形之间的区别是什么?

2 个答案:

答案 0 :(得分:43)

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

对齐矩形基于项目内容的显示,自动布局使用对齐矩形而不是项目的框架矩形。 通过使用对齐矩形而不是框架,自动布局可确保在布局期间正确考虑视图边缘和中心等关键信息。 与帧不同,视图的对齐矩形应限制为核心可视元素。当新项目被绘制到视图上时,其大小应保持不受影响。

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

enter image description here

图 - 1:视图的对齐矩形(中心)严格指向要对齐的核心视觉元素,没有装饰。

图-1中的中心图像突出显示视图的对齐矩形。此矩形排除所有装饰,例如投影和徽章。这是您希望Auto Layout在其工作时考虑的视图的一部分。 图-1中的右侧矩形包含了所有视图的可视元素。它包含阴影和徽章。如果在布局期间考虑这些装饰物,它们可能会抛弃视图的对齐特征(如中心,底部和右侧)。

enter image description here

图-2自动布局在将其视图放置为超视图中心时,仅考虑此视图的对齐矩形。阴影和徽章不会影响其位置。

参考:link

答案 1 :(得分:7)

来自Apple的Auto Layout Guide

  

布局在对齐矩形上操作,而不是在帧上

     

在考虑布局时,请记住控件的框架是   比视觉范围重要。于是,饰品如   阴影和雕刻线通常应该被忽略   布局的目的。 Interface Builder在定位时会忽略它们   画布上的视图 - 在下面的例子中,Aqua指南(   蓝色虚线)与按钮的视觉范围对齐,而不是   使用按钮的框架(纯蓝色矩形)。   enter image description here

     

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

因此,Xcode中的弹出菜单使您能够根据对齐矩形或框架矩形查看和编辑视图的大小和位置。