如何在列调整大小后使用 usesAutomaticRowHeights = true 更新 NSTableView 的行高?

Ely*_*Ely 5 macos nstableview autolayout

从 macOS 10.13 开始,我们可以使用具有自动行高的 NSTableView,这要归功于新属性usesAutomaticRowHeights和自动布局。这很好用。

但是当用户调整列大小时,计算出的高度不再正确,并且表格视图单元格中会出现间隙。

在这种情况下,是否有经过验证的方法可以在调整列大小后更新行高?

我已经尝试过类似的方法updateConstraintsForSubtreeIfNeeded()updateConstraints()setNeedsDisplay()reloadData()等等,但没有任何工程。

Ely*_*Ely 4

如果您在设计中使用 NSTextField,请确保Desired Width将每个具有动态高度的 NSTextField 设置为Automatic。此设置位于尺寸检查器中。

更改此设置会导致自动重新计算表格视图行高。