Macos NSView自动调整大小(垂直)

Macos NSView自动调整大小(垂直),macos,cocoa,nsview,Macos,Cocoa,Nsview,是否可以让NSView自动调整大小(垂直)以适应其内容?内容只是两个NSTextField,一个(位于视图顶部)始终保持相同高度,另一个(位于视图底部附近)高度可变 更困难的是,NSView是NSCollectionViewItem的视图。问题是在计算高度之前需要知道宽度。一个成功的实现需要两个布局循环。第一个决定宽度。然后取该宽度并计算高度。然后添加或修改约束以反映高度,并且必须再次进行布局 为了实现这一点,我对视图进行了子类化,以便在本地存储帧大小的副本。当视图的内容更改时,我会将宽度清除为

是否可以让NSView自动调整大小(垂直)以适应其内容?内容只是两个NSTextField,一个(位于视图顶部)始终保持相同高度,另一个(位于视图底部附近)高度可变


更困难的是,NSView是NSCollectionViewItem的视图。

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

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