我正在使用 insertRowAtIndexes:withAnimation 向 NSTableView 添加新行。
如果新行的矩形已经可见,那么这可以正常工作,但是在最后插入新行时会出现问题。该行按预期插入,但由于滚动位置未调整,动画发生在屏幕外!
我缺少任何明显的修复程序吗?
我正在使用 insertRowAtIndexes:withAnimation 向 NSTableView 添加新行。
如果新行的矩形已经可见,那么这可以正常工作,但是在最后插入新行时会出现问题。该行按预期插入,但由于滚动位置未调整,动画发生在屏幕外!
我缺少任何明显的修复程序吗?
您必须手动使新行可见。您不能调用-rectOfRow:
要插入的行,因为它还没有在表中 - 相反,查看表中最后一行的矩形,添加新行的预期高度,然后查看结果是否rect 将在屏幕上可见;如果没有,您需要滚动。
如果要为滚动设置动画,请参阅带有动画的 NSTableView scrollRowToVisible 。请注意,在 10.7+ 上,您可能还想调用-flashScrollers
滚动视图。