我一直在处理一些旧代码,目前的情况是我将NSMatrix作为NSScrollView中的一组单选按钮使用。 NSMatrix位于NSScrollView的顶部,并且NSScrollView可以包含多达数百个其他子视图。
每次使用功能-(void)selectCellAtRow:(NSInteger)row column:(NSInteger)column
通过编程方式选择NSMatrix中的单选按钮时,NSScrollView都会自动向上滚动,以便所选单选按钮可见。一些客户觉得这很烦人。
该函数的默认行为吗?如何停止这种自动滚动?
相关但不相同的问题: Selecting Item of NSMatrix programatically
答案 0 :(得分:1)
selectCellAtRow:column:
触发scrollCellToVisibleAtRow:column:
。子类NSMatrix
,覆盖
- (void)scrollCellToVisibleAtRow:(NSInteger)row column:(NSInteger)col;
并且不要调用super
(如果矩阵不可见)。