以编程方式 select NSMatrix 中的单元格自动使单元格可见

Programmatically select a cell in NSMatrix automatically makes the cell visible

我一直在使用一些遗留代码,目前的情况是我有一个 NSMatrix 作为 NSScrollView 中的一组单选按钮。 NSMatrix 位于 NSScrollView 的顶部,NSScrollView 最多可以包含数百个其他子视图。

每次使用函数-(void)selectCellAtRow:(NSInteger)row column:(NSInteger)column以编程方式select NSMatrix 中的单选按钮时,NSScrollView 会自动向上滚动,这样selected 单选按钮就会显示可见的。有些客户觉得这很烦人。

这是该函数的默认行为吗?如何停止这种自动滚动?

相关但不相同的问题: Selecting Item of NSMatrix programatically

selectCellAtRow:column: 触发 scrollCellToVisibleAtRow:column:。子类NSMatrix,覆盖

- (void)scrollCellToVisibleAtRow:(NSInteger)row column:(NSInteger)col;

并且不要调用 super(如果矩阵不可见)。