2013-04-25 24 views
0

插入新行,當我使用insertRowAtIndexes:withAnimation到一個新的行添加到一個NSTableView。使得insertRowAtIndexes:withAnimation可見在年底

如果新行的矩形已經是可見的話,這工作得很好,但有在末尾插入新行的時候出現問題。該行按預期插入,但由於滾動位置不調整,動畫發生在屏幕外!

我錯過了任何明顯的修復?

回答

0

您必須手動顯示新行。您不能在要插入的行上調用-rectOfRow:,因爲它尚未位於表格中,而是查看錶格中最後一行的矩形,添加新行的預期高度,然後查看產生的矩形將在屏幕上可見;如果沒有,你需要滾動。

NSTableView scrollRowToVisible with animation如果你想動畫滾動。請注意,在10.7+上,您可能還想在滾動視圖上調用-flashScrollers

+0

謝謝。我已經檢查過,看看被移除/插入的行是否可見,如果需要的話首先滾動。因此,在底部插入是一種特殊情況,我將不得不以不同的方式處理它,然後將動畫滾動插入底部(無動畫)插入。我敢肯定,這看起來好像插入的行正在進行動畫處理。 – martinjbaker 2013-04-26 11:13:18