2

NSStackView与常规相比,有 2 个额外的优先级NSView,即clippingResistancePriorityhuggingPriority.文档提供了一些合理的解释它们的用途和作用。

但是 4 个优先事项有点过头了。

现在,在上述文档中,他们提到:

堆栈视图没有内在的内容大小,也没有可配置的内容压缩阻力。在堆栈视图上调用该setContentCompressionResistancePriority:forOrientation:方法无效。

然而,contentHuggingPriority被留在了阴影中。似乎NSStackView对这个也没有反应——或者至少我没能做到。

有人可以确认或反驳这一点吗?

4

1 回答 1

2

是的,这是正确的。从 NSView 继承的内容约束优先级:

- (NSLayoutPriority)contentHuggingPriorityForOrientation:(NSLayoutConstraintOrientation)orientation NS_AVAILABLE_MAC(10_7); - (NSLayoutPriority)contentCompressionResistancePriorityForOrientation:(NSLayoutConstraintOrientation)orientation NS_AVAILABLE_MAC(10_7);

仅适用于基于视图创建的约束intrinsicContentSize,而 NSStackView 没有。因此,就像您和文档中提到的那样,它们没有任何效果。(除非你继承 NSStackView 并重写intrinsicContentSize以赋予它一些价值......)

于 2016-09-06T01:00:51.530 回答