我想知道如何通过代码动画化扩展/折叠NSOutlineView的树节点吗?

// this works ok but doesn't animate

NSTreeNode *node = [self.outlineView itemAtRow:self.outlineView.clickedRow];

if([self.outlineView isItemExpanded:node])
{
    [self.outlineView.animator collapseItem:node];
}else{
    [self.outlineView.animator expandItem:node];
}

如果通过默认绘制的箭头展开节点,则大纲 View 自然会设置动画
所以有办法...

最佳答案

我原来的代码还可以,在10.7下就不可用了

Application Kit Release Notes for OS X v10.8的原始文本:

NSOutlineView

现在,以下方法支持通过-animator代理进行动画处理:-expandItem :、 -expandItem:expandChildren :、 -collapseItem:和-collapseItem:collapseChildren:。例如,为特定项目的扩展设置动画:[[outlineView animator] expandItem:item];

关于cocoa - NSOutlineView通过代码展开/折叠动画,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13881034/

10-09 02:39