2012-11-03 106 views
0

是否可以讓NSView自動調整大小(垂直)以適合其內容?內容只有兩個NSTextFields,其中一個(在視圖的頂部)總是高度相同,另一個(靠近視圖底部)的高度是可變的。NSView自動調整大小(垂直)

一些可能使它更加困難的是NSView是一個NSCollectionViewItem的視圖。

回答

0

問題是在計算高度之前需要知道寬度。一個成功的實現需要兩個佈局循環。第一個決定寬度。然後取出寬度並計算高度。然後添加或修改約束以反映高度和佈局必須再次發生。

爲了達到這個目的,我分類了視圖以在本地存儲幀大小的副本。當視圖的內容改變時,我會將寬度清零。如果發現實際的框架矩形寬度與佈局後的存儲寬度不同,那麼我知道需要計算高度,並且在寬度更改導致高度更改的情況下需要執行另一個佈局。