如何让NSTableView滚动到最近添加的行?

rui*_*eco 23 cocoa objective-c nstableview nsscrollview

我正在动态地向NSTableView添加行.当我发出[table reloadData]时,我可以看到滚动视图移动,如果我手动移动它,我可以看到表上的新值.但是如何自动滚动?

Wev*_*vah 40

NSInteger numberOfRows = [tableView numberOfRows];

if (numberOfRows > 0)
    [tableView scrollRowToVisible:numberOfRows - 1];
Run Code Online (Sandbox Code Playgroud)

假设您要在表的末尾添加行.

(我向表视图询问行数而不是数据源的原因是这个数字保证是它知道的行数并且可以滚动到.)

  • 不知何故(在最新的XCode和SDK上)这导致tableView滚动到*新添加的单元格(在tableView的末尾添加)之前的单元格*.无法弄清楚为什么. (4认同)

Fra*_*itt 18

使用这样的东西:

 [table scrollRowToVisible:indexOfNewRow];
Run Code Online (Sandbox Code Playgroud)