高度约束阻止了NSWindow的大小调整

时间:2012-10-18 00:30:44

标签: cocoa xcode4 interface-builder nswindow

我正试图搞砸NSViewConstraints。我很喜欢他们;对我来说,它们比以前的系统更有意义。

我有一个窗口,一个22像素高的子视图横跨它的顶部,还有一个tabless,无边框的NSTabView。目标是让顶级子视图永远不会调整其高度。

没有任何限制,自动格式化可以完成大部分工作。唯一的麻烦是调整窗口大小会导致上层子视图改变其高度。我看似合乎逻辑的反应是将高度固定在22处。由于NSTabView已经处理好大小调整,因此我只留下了边距限制。

通过固定上部子视图的高度,窗口现在拒绝垂直调整大小!我没有看到任何文档说这是预期的或它背后的逻辑。我已经搞砸了各种约束配置来克服它但没有任何作用。

两个问题:

  1. 为什么固定一个子视图的高度冻结窗口高度调整大小?什么是Xcode的逻辑?
  2. 什么约束设置将实现所需的定位?

1 个答案:

答案 0 :(得分:1)

我刚刚测试过创建一个窗口,并固定2​​2px视图的高度。这为视图的高度创建了一个用户约束。

但是,它还在父视图(窗口的内容视图)上创建了2个约束,一个用于顶部空间到22px视图,另一个用于底部空间到22px视图。这些限制是阻止您调整窗口大小的限制因素。您应该选择第二个约束并将其删除(但保留第一个约束,因为它很好)。