将 NSTableView 滚动到 endOfDocument 而不是最后一行
Scroll NSTableView to endOfDocument not the last row
我 NSTableView
具有动态行高。我需要滚动到最后。我试过 scrollToEndOfDocument:
但它给出的结果与 scrollRowToVisible:
相同,后者是最后一行的开始
- (void)viewDidLoad {
[super viewDidLoad];
//[[self tableView] scrollRowToVisible:[[self tableView] numberOfRows] - 1];
[[self tableView] scrollToEndOfDocument:self];
}
您的 scrollRowToVisible
方法应该有效。这是一个快速实现可变高度的 sample project,它带有一个滚动到最后一行的按钮。滚动后最后一行完全可见。
更新:
对于比周围的 NSClipView 大的 table 个单元格,上述技术只会滚动到单元格的顶部。要滚动到最后一个单元格的底部,您可以使用:
let point = NSPoint(x: 0, y: tableView.frame.height)
tableView.scroll(point)
或者因为 OP 在 ObjC 中:
[[self tableView] scrollPoint: NSMakePoint(0, [self tableView].frame.size.height)]
我 NSTableView
具有动态行高。我需要滚动到最后。我试过 scrollToEndOfDocument:
但它给出的结果与 scrollRowToVisible:
相同,后者是最后一行的开始
- (void)viewDidLoad {
[super viewDidLoad];
//[[self tableView] scrollRowToVisible:[[self tableView] numberOfRows] - 1];
[[self tableView] scrollToEndOfDocument:self];
}
您的 scrollRowToVisible
方法应该有效。这是一个快速实现可变高度的 sample project,它带有一个滚动到最后一行的按钮。滚动后最后一行完全可见。
更新: 对于比周围的 NSClipView 大的 table 个单元格,上述技术只会滚动到单元格的顶部。要滚动到最后一个单元格的底部,您可以使用:
let point = NSPoint(x: 0, y: tableView.frame.height)
tableView.scroll(point)
或者因为 OP 在 ObjC 中:
[[self tableView] scrollPoint: NSMakePoint(0, [self tableView].frame.size.height)]