2012-10-18 121 views
1

我試圖讓NSViewConstraints的竅門調整大小。我很喜歡他們;他們對我來說比以前的系統更有意義。高度約束防止NSWindow

我有一個窗口,一個22像素高的子視圖跨越它的頂部,和一個tabless,無國界的NSTabView它的下方。目標是讓頂級子視圖永不調整其高度。

不受任何約束,自動格式需要的大部分工作照顧。唯一的麻煩是調整窗口的大小會導致上層子視圖改變其高度。我的看似合理的迴應是將高度固定在22度。我僅留下邊距限制,因爲NSTabView已經處理好了調整大小。

通過釘紮上子視圖的高度,窗口現在拒絕垂直調整!我沒有看到任何地方有任何文件說這是預期的或者它背後的邏輯。我搞砸了各種約束配置來克服它,但沒有任何工作。

兩個問題:

  1. 爲什麼寄託的一個子視圖凍結窗口的高度調整的高度?什麼是Xcode的邏輯?
  2. 什麼約束設置將實現所需的定位?
+0

你確定這是你唯一的約束? –

+0

唯一的用戶定義的一個,是。 – spamguy

回答

1

我剛剛測試瞭如你所描述的那樣創建一個窗口,並釘住了22px視圖的高度。這在視圖上爲其高度創建了一個用戶約束。

然而,它也創建父視圖2個約束(窗口的內容視圖),一個用於頂層空間到的22px視圖,和第二對底部空間到的22px視圖。這些約束是阻止您調整窗口大小的因素。你應該選擇第二個約束並刪除它(但保留第一個約束)。

+0

令人驚歎!我以爲我嘗試過每一個組合。甚至沒有注意到這些被自動拋出。謝謝! – spamguy