13

我在控制台中看到以下输出

"<NSAutoresizingMaskLayoutConstraint:0x100510500 h=--& v=&-- H:|-(0)-[NSView]
    (Names: NSView:0x1016ab760, '|':NSClipView:0x1016a26b0 )>
    (Actual Distance - pixels):0"

通常我了解如何阅读日志消息以了解约束。但是 autoresizingMask 约束总是让我感到困惑。日志输出中的以下字符如何对应于自动调整大小的掩码?

h=--& v=&-- H:|-(0)-[NSView]

我观看了几个 WWDC 2012 视频,这些视频并没有完全解释阅读自动调整大小的蒙版布局约束。

4

1 回答 1

1

jrturton 在他的回答中描述了调试输出的第一部分(见评论)

h=--& v=&--

对于所有自动布局约束,第二部分都是相同的:

H:|-(0)-[NSView]

这只是提供有关掩码如何变成约束的详细信息。“H”表示水平,“|” 表示您的视图所在的容器(在本例中为 NSClipView),-(0)- 表示它被限制为视图左侧的 0 像素(在本例中为通用 NSView)。

因此,添加了一个约束,将视图的左边缘直接绑定到其父视图。(由于右边缘不受约束,它会在微风中飘来飘去,就像自动调整大小蒙版所说的那样。)

于 2014-01-07T11:16:19.127 回答