0

是否可以让 NSView 自动调整大小(垂直)以适应其内容?内容只是两个 NSTextField,一个(在视图顶部)始终具有相同的高度,另一个(靠近视图底部)具有可变高度。

可能使它变得更加困难的是 NSView 是 NSCollectionViewItem 的视图。

4

1 回答 1

0

问题是在计算高度之前需要知道宽度。一个成功的实现需要两个布局循环。第一个确定宽度。然后取该宽度并计算高度。然后添加或修改约束以反映高度和布局必须再次发生。

为了实现这一点,我将视图子类化以在本地存储帧大小的副本。当视图的内容发生变化时,我会将宽度清除为零。如果发现实际的框架矩形宽度与布局后存储的宽度不同,那么我知道需要计算高度,并且在宽度变化导致高度变化的情况下需要执行另一个布局。

于 2012-11-03T15:18:47.970 回答