【问题标题】:Programmatically select a cell in NSMatrix automatically makes the cell visible以编程方式选择 NSMatrix 中的单元格自动使单元格可见
【发布时间】:2019-01-07 08:14:53
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: objective-c nsscrollview nsmatrix


    【解决方案1】:

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

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

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

    【讨论】:

    • 优秀的答案。谢谢你,威勒克!
    猜你喜欢
    • 2015-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-25
    相关资源
    最近更新 更多