[英]Overriding keyDown: in an NSTableView category disables arrow key handling
我有一个NSTableView
,它的默认行为有一些问题。
如果我重写了类别中的keyDown:
方法,如下所示:
- (void) keyDown:(NSEvent *)event {
[super keyDown:event];
}
我无法再使用键盘上的箭头键更改行选择。 这是为什么?
在NSTableView的类别中。
在NSTableView
的类别中, super
是指NSTableView
的超类( NSControl
),而不是像子 NSTableView
那样是指NSTableView
。 您NSControl
事件传递给keyDown:
的NSControl
版本,该版本对表视图一无所知,并且无法以所需方式处理箭头键。
如果您覆盖类别中的方法,则无法调用原始方法。 在框架类上执行此操作绝不是一个好主意(您的源不可用)。 使用子类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.