不断增长的NSTableView行高

use*_*488 4 macos cocoa nstextview nstableview

我在MacOSX应用程序中有一个基于视图的NSTableView,可以很好地构建数据.我想实现NSTableView的行高,它随着输入NSTextViews之一的数据内容而增长.我已经将NSTextView子类化为用户文本"增长",但问题是嵌入TableView中的字段会导致字段被剪裁.

有没有人对如何实现不断增长的行大小有任何建议?

Ken*_*ses 7

您需要-tableView:heightOfRow:在表视图中实现委托并返回该行的适当高度.此外,您需要监视文本视图的高度变化,并-noteHeightOfRowsWithIndexesChanged:在任何更改时调用表视图.要监视文本视图的高度,应该足以观察NSViewFrameDidChangeNotification它们将发布的内容.

(如果您通常在UI中使用自动布局,我认为您必须保留文本视图,translatesAutoresizingMaskIntoConstraints手动放置它们,并根据需要设置它们的自动调整遮罩.然后,您将避免设置任何其他约束.这是因为您需要框架由文本布局管理器设置,而不是由自动布局设置.)