当堆栈视图调整大小时,如何让NSButton与NSStackView分离?

时间:2014-01-13 17:40:44

标签: cocoa autolayout nsbutton nscontrol nsstackview

当堆栈视图调整大小时,如何让NSButtonNSStackView分离?

使用NSControl绘图的

NSCell子类似乎与其他NSView子类在自动布局中具有抗压缩性的可见性方面有不同的思路。 NSStackView似乎也没有任何区别。

如果我为一个大于1的控件设置了可见性优先级,它就不会掉线。 如果我将它设置为0,那么它当然只会掉落并且永远不会出现。

这应该如何工作?
当堆栈视图调整得更小时,如何使按钮或其他控件丢弃? 也许这是NSStackView ...

的文档和示例的缺乏

2 个答案:

答案 0 :(得分:1)

在我看到任何意见分离之前,我必须做两件事:

  1. 致电-[NSStackView setClippingResistancePriority:forOrientation:]。如果堆栈视图的大小与窗口大小相关联,则优先级必须小于NSLayoutPriorityWindowSizeStayPut(500),否则堆栈视图不允许窗口小于其内容。

  2. 每次我将视图添加到我想要分离的堆栈视图时,请为该视图调用-[NSStackView setVisibilityPriority:forView:]

答案 1 :(得分:0)

尝试将优先级设置为NSStackViewVisibilityPriorityDetachOnlyIfNecessary