0

我有NSOutlineView几行变量(在运行时)高度。outlineView: heightOfRowByItem:使用委托中的方法立即更改高度很简单。但我想在展开/折叠动画期间为行高设置动画。

这该怎么做?

4

1 回答 1

0

在您的NSOutlineView通话中 noteHeightOfRowsWithIndexesChanged:像:

// index set with all rows that did change height
NSIndexSet *rows = [NSIndexSet indexSetWithIndex:1];
[self.outlineView noteHeightOfRowsWithIndexesChanged:rows];

这会将行设置为outlineView:heightOfRowByItem:委托方法返回的新高度。

从文档中:

对于基于视图的表,此方法将设置动画。
[...]
对于基于单元格的表格,此方法通常不会设置动画。但是,如果您在 beginUpdates/endUpdates 块中调用它,它将动画化。

于 2013-02-05T09:38:25.567 回答