界面生成器的大小检查器中的框架和布局有什么区别?

在IB中,Size Inspector中有一个下拉菜单,显示“布局”和“框架”。 我知道什么是框架,但是我不知道这种情况下的布局是什么。 有什么不同?

当衬里控制和测量彼此的距离时,通常需要考虑控件在屏幕上占据的视觉空间的位置,而不是简单的原始框架。 在很多情况下,一个控件占据的视觉矩形,其框架是非常不同的。 例如,一个普通大小的button看起来大约在屏幕上高20点,有2或3点的阴影。 实际上,正确configuration的button的框架是32点高,不是〜23。 这额外的9点填充是不明显的。

“布局矩形”是Interface Builder用于这个概念的名称。

布局矩形有助于查看测量和大小的应用程序。 “苹果人机接口指南”可能会声明“两个垂直alignment的button,水平相邻的应该有12个空间水平分隔的点”。 这12个空格分隔的button应该从button的布局框架,而不是他们的原始框架。

许多内置的IB元素都有一个单独的“布局”与“边界”矩形。 您可以通过使用“布局>显示XXX矩形”显示差异来查看差异。 下拉菜单指示坐标所指向的矩形。

在Mac上,这会影响标签的UITextFields。 如果在“布局”和“框架”之间切换,则X坐标将改变3个像素。 我还没有玩过iPhone控件,看看它是否影响到他们。 它不会出现很多。