首先,UI看起来像这样。有NSWindow
,其内容视图和NSOutlineView
。 NSOutlineView
具有蓝色背景。高优先级约束将NOutlineView
和它的超级视图之间的空间设置为0。
@"|[_outlineView]|"
@"V:|[_outlineView]|"
现在我打开或关闭大纲中的“FirstProject”项目。大纲视图缩小到它的超视图的角落。
如果我点击那些蓝色约束,控制台会显示约束“想要”距离为0,但结果为191。
2013-06-24 22:27:18.354 Test[25202:403] Clicked on visualized constraint: (
"<NSLayoutConstraint:0x10015e470 H:[outlineView]-(0)-|
(Names: outlineView:0x100155430, '|':NSView:0x10061aa80 )>
(Actual Distance - pixels):191")
所以,它打破了约束。为什么?我已将translatesAutoresizingMaskIntoConstraints
设置为NO
,我看到的唯一约束是NSOutlineView周围的4,要求0空格。
大纲视图的intrinsicContentSize
是(-1,-1)(即NSViewNoInstrinsicMetric
)