像this question,我有一个的NSView这是内容查看了一个NSWindow,它包含垂直堆叠在另一个之上的几个子视图。其中一些是固定大小,其中一些可以通过泄露按钮进行扩展或折叠。我怎样才能得到窗口的内容查看到“拥抱”这是子视图
我想实现一种“手风琴”效应展开或折叠子视图的人让一切调整并调整了上海华和相应的窗口,在其中。
它真的好像一个人应该能够通过建立一套正确使用自动布局约束来实现这一点,我必须现在做的初始布局罚款。但我不知道如何设置约束,以便超级视图自动调整大小以拥抱子视图。
上面链接的问题中的OP从来没有得到答案,并提供了他自己的解决方案,就像我开始独立实施的解决方案,但我想我会再次抛出它,以防有任何自动布局大师知道一个窍门。似乎应该有办法让superview通过利用自动布局来拥抱子视图,而无需手动计算子视图的大小并手动重置超级视图的大小。
有人知道吗?
我没有删除-awakeFromNib中的所有约束,并以编程方式创建我想要的。我仍然相信,在我的/我们的控制之外,窗口框架和窗口contentView之间存在一些约束,这些约束在这样的边缘情况下与你混淆。在任何情况下,我在上面的答案中引用的github解决方案(带有subclassed NSView,over-ridden intrinsicContentSize)对我来说工作正常。 – pjv
唯一的情况是,我在窗口框架和内容视图之间存在约束问题时,我启用了检查器栏以查看文本视图,但这是我想的某种错误。我的配置几乎与你的配置相同(一种垂直手风琴完全用约束实现,我不必实现'-intrinsicContentSize',但是我必须玩弄优先级。 – skh