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

Yuc*_*ong 31 xcode interface-builder xcode6

谁能解释之间有什么区别边框矩形对齐矩形大小检查

use*_*201 44

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

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

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

在此输入图像描述

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

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

在此输入图像描述

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

参考:链接


Ken*_*ses 7

来自Apple的自动布局指南:

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

在考虑布局时,请记住控件的框架不如其视觉范围重要.因此,出于布局的目的,通常应忽略诸如阴影和雕刻线的装饰物.在画布上定位视图时,Interface Builder忽略它们 - 在下面的示例中,Aqua指南(蓝色虚线)与按钮的视觉范围对齐,而不是与按钮的框架(纯蓝色矩形)对齐. 在此输入图像描述

为了允许基于内容的呈现而不是框架的布局,视图提供了对齐矩形,这是布局实际操作的内容.要确定OS X上的覆盖是否正确,可以将NSViewShowAlignmentRects默认设置 YES为绘制对齐rects.

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