Macos 达到约束时推NSSplitView的子视图

Macos 达到约束时推NSSplitView的子视图,macos,cocoa,autolayout,nssplitview,Macos,Cocoa,Autolayout,Nssplitview,在OSX中,我有一个NSSplitView,其中有3个子视图垂直堆叠:a、B、C 视图B具有最小高度约束。如果我向上推B-C分隔器,它会在达到约束时停止,这是应该的 但是,当达到最小高度约束B时(并且在A中没有其他约束),我想让分隔器A-B也向上推 相反,如果在B中有一个最大高度约束,我向下拉动B-C分隔器,我希望分隔器a-B遵循(其他约束允许) 有没有办法用AutoLayout实现这一点?如果没有,您能否建议一种方法/指向相关资源 谢谢。如果您查看在拖动过程中添加到SplitView的约束,您

在OSX中,我有一个
NSSplitView
,其中有3个子视图垂直堆叠:a、B、C

视图B具有最小高度约束。如果我向上推B-C分隔器,它会在达到约束时停止,这是应该的

但是,当达到最小高度约束B时(并且在A中没有其他约束),我想让分隔器A-B也向上推

相反,如果在B中有一个最大高度约束,我向下拉动B-C分隔器,我希望分隔器a-B遵循(其他约束允许)

有没有办法用AutoLayout实现这一点?如果没有,您能否建议一种方法/指向相关资源


谢谢。

如果您查看在拖动过程中添加到SplitView的约束,您会注意到NSSplitView添加了必要的约束,使非分割相邻视图保持在其当前位置

"<NSLayoutConstraint:0x6100000827b0 H:|-(512.5)-[View3]   (Names: View3:0x600000120500, '|':MySplitView:0x6000001203c0 )>"
“”
在拖动结束时,这些将被删除

如果没有添加这些约束或只是以较低的优先级添加这些约束,您将获得所描述的行为。不幸的是,由于它们是必需的,所以甚至没有推荐的解决方法(例如手动添加更高优先级的约束)


您可以提交一个增强请求,让NSSplitView提供对这些约束的更多控制