gpt4 book ai didi

objective-c - 覆盖 keyDown : in an NSTableView category disables arrow key handling

转载 作者:行者123 更新时间:2023-12-03 17:28:57 26 4
gpt4 key购买 nike

我有一个 NSTableView,但它的默认行为存在一些问题。

如果我重写了类别中的 keyDown: 方法,如下所示:

- (void) keyDown:(NSEvent *)event {
[super keyDown:event];
}

我无法再使用键盘箭头键更改行选择。这是为什么?

最佳答案

in a category of NSTableView.

NSTableView类别中,super 指的是 NSTableView 的父类(super class) (NSControl),而不是像在子类中那样到NSTableView。您将事件传递给 keyDown:NSControl 版本,它对表格 View 一无所知,也无法按照您想要的方式处理箭头键。

如果您重写类别中的方法,则无法调用原始方法。在框架类上执行此操作几乎从来都不是一个好主意(您无法获得其源代码)。使用子类。

比照。 Using Super in an Objective C Category?Is calling super in a category the same as calling it in a subclass?

关于objective-c - 覆盖 keyDown : in an NSTableView category disables arrow key handling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8562013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com