【问题标题】:What's the difference between frame and layout in Interface builder's size inspector?Interface builder的尺寸检查器中的框架和布局有什么区别?
【发布时间】:2009-05-27 05:29:31
【问题描述】:

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

【问题讨论】:

    标签: iphone interface-builder


    【解决方案1】:

    在排列控件并测量它们之间的距离时,通常需要根据控件在屏幕上占据的视觉空间来考虑控件的位置,而不仅仅是它们的原始帧。在许多情况下,控件占据的可视矩形及其框架大不相同。例如,一个常规尺寸的按钮在屏幕上看起来大约 20 点高,带有 2 或 3 点的阴影。实际上,正确配置的按钮的框架是 32 磅高,而不是 23 磅。这额外的 9 点填充点在视觉上并不明显。

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

    布局矩形对于查看测量和调整大小的应用很有用。 Apple 人机界面指南可能会声明“两个垂直对齐的按钮,并且彼此相邻的水平方向应该有 12 个点的空间将它们水平分隔。”这 12 点分隔按钮的空间应该从按钮的布局框架而不是它们的原始框架来衡量。

    【讨论】:

    • 从写这篇评论到现在,AppKit 和 UIKit 都采用了 Auto Layout。自动布局的对齐矩形的概念和Interface Builder中的布局矩形的概念是一样的。
    • 那么在使用Auto Layout的时候如何设置对齐矩形呢?有没有办法在 Interface Builder 中做到这一点?玩弄布局框架似乎并没有多大作用
    【解决方案2】:

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

    在 Mac 上,这会影响 UITextField,例如标签。如果在 Layout 和 Frame 之间切换,X 坐标将改变 3 个像素。我还没有玩过 iPhone 控件来查看它是否会影响其中的任何一个。它不会出现很多。

    【讨论】:

    • 不错的提示。谢谢,但 Show (Bounds|Layout) Rectangles 菜单项现在位于 Xcode 4.5.1 中的 Editor > Canvas 下。
    猜你喜欢
    • 1970-01-01
    • 2010-10-29
    • 2011-04-13
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    • 2019-06-05
    相关资源
    最近更新 更多