2012-10-18 40 views
1

我试图让NSViewConstraints的窍门调整大小。我很喜欢他们;他们对我来说比以前的系统更有意义。高度约束防止NSWindow

我有一个窗口,一个22像素高的子视图跨越它的顶部,和一个tabless,无国界的NSTabView它的下方。目标是让顶级子视图永不调整其高度。

不受任何约束,自动格式需要的大部分工作照顾。唯一的麻烦是调整窗口的大小会导致上层子视图改变其高度。我的看似合理的回应是将高度固定在22度。我仅留下边距限制,因为NSTabView已经处理好了调整大小。

通过钉扎上子视图的高度,窗口现在拒绝垂直调整!我没有看到任何地方有任何文件说这是预期的或者它背后的逻辑。我搞砸了各种约束配置来克服它,但没有任何工作。

两个问题:

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

你确定这是你唯一的约束? –

+0

唯一的用户定义的一个,是。 – spamguy

回答

1

我刚刚测试了如你所描述的那样创建一个窗口,并钉住了22px视图的高度。这在视图上为其高度创建了一个用户约束。

然而,它也创建父视图2个约束(窗口的内容视图),一个用于顶层空间到的22px视图,和第二对底部空间到的22px视图。这些约束是阻止您调整窗口大小的因素。你应该选择第二个约束并删除它(但保留第一个约束)。

+0

令人惊叹!我以为我尝试过每一个组合。甚至没有注意到这些被自动抛出。谢谢! – spamguy