Прокрутите NSTableView до endOfDocument не последней строки - PullRequest
0 голосов
/ 03 марта 2019

У меня NSTableView с динамической высотой строки.Мне нужно прокрутить до конца.Я попытался scrollToEndOfDocument:, но он дает тот же результат, что и scrollRowToVisible:, который является началом последней строки

- (void)viewDidLoad {
    [super viewDidLoad];
    //[[self tableView] scrollRowToVisible:[[self tableView] numberOfRows] - 1];
    [[self tableView] scrollToEndOfDocument:self];
}

Example

1 Ответ

0 голосов
/ 05 марта 2019

Ваш scrollRowToVisible подход должен работать.Вот быстрый пример проекта , который реализует переменную высоту с помощью кнопки, которая прокручивается до последней строки.Последняя строка полностью видна после прокрутки.

TableScroll image

Обновление: для ячеек таблицы, больших, чем окружающий NSClipView, описанная выше техника будет прокручиваться только до верхней части.клетки.Чтобы прокрутить до конца последней ячейки, вы можете использовать:

let point = NSPoint(x: 0, y: tableView.frame.height)
tableView.scroll(point)

или поскольку OP был в ObjC:

[[self tableView] scrollPoint: NSMakePoint(0, [self tableView].frame.size.height)]
...