Marsupito
Marsupito

Reputation: 79

Programmatically select a cell in NSMatrix automatically makes the cell visible

I've been working with some legacy codes, and the current situation is I have a NSMatrix as a group of radio buttons inside a NSScrollView. The NSMatrix is at the top of the NSScrollView, and the NSScrollView can contain up to hundreds of other subviews.

Every time when the function -(void)selectCellAtRow:(NSInteger)row column:(NSInteger)column is used to programmatically select a radio button in the NSMatrix, the NSScrollView will automatically scroll up so that the selected radio button will be visible. Some customers find it very annoying.

Is it a default behavior of that function? How do I stop this automatic scrolling?

Related, but not the same, question: Selecting Item of NSMatrix programatically

Upvotes: 0

Views: 127

Answers (1)

Willeke
Willeke

Reputation: 15589

selectCellAtRow:column: triggers scrollCellToVisibleAtRow:column:. Subclass NSMatrix, override

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

and don't call super (if the matrix is invisible).

Upvotes: 1

Related Questions