Ваш scrollRowToVisible
подход должен работать.Вот быстрый пример проекта , который реализует переменную высоту с помощью кнопки, которая прокручивается до последней строки.Последняя строка полностью видна после прокрутки.
Обновление: для ячеек таблицы, больших, чем окружающий 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)]