NSOutlineView:'outlineView:heightOfRowByItem:'与动画行高相比

时间:2013-02-05 09:26:05

标签: macos cocoa animation nsoutlineview

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

怎么做?

1 个答案:

答案 0 :(得分: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块中调用它,它将会生成动画。