使insertRowAtIndexes:在结尾处插入新行时,withAnimation可见

时间:2013-04-25 11:08:26

标签: cocoa nstableview

我正在使用insertRowAtIndexes:withAnimation将新行添加到NSTableView。

如果新行的rect已经可见,那么这样可以正常工作但在最后插入新行时会出现问题。该行按预期插入,但由于滚动位置未调整,因此动画发生在屏幕外!

我缺少任何明显的修复?

1 个答案:

答案 0 :(得分:0)

您必须手动显示新行。你不能在你要插入的行上调用-rectOfRow:,因为它还没有在表中 - 而是查看表中最后一行的矩形,添加新行的预期高度,以及然后看看生成的矩形是否会在屏幕上显示;如果没有,你需要滚动。

如果要为滚动设置动画,请参阅NSTableView scrollRowToVisible with animation。请注意,在10.7+上你可能也想在scrollview上调用-flashScrollers