我已经实现了一个继承自NSTableView的自定义类MyTableView。 然后我在我的.xib文件中添加了两个自定义表视图。 我想要做的是使用箭头键(左和右)浏览两个表。选定的行只是从一个表到另一个表(我不知道我是否清楚)
而不是覆盖KeyDown方法,这会让我重新实现所有内容(我认为懒惰是编程中的一个好习惯:)),我只想说经典的keyDown方法被称为“嘿,如果按下的键是向左或向右箭头,更改表格视图并选择适当的行。)
我有一个MyTableViewController来控制MyTableView类。我是否可以在此类中捕获keyDown事件并处理这些事件(同样不更改MyTableView中的KeyDown方法)?
一般来说,有没有办法从方法继承而不再写一切?像班级一样?您不必使用遗传重新创建所有类的行为,使用方法这样做会非常酷。
答案 0 :(得分:0)
您可以通过使用左箭头键创建菜单来完成此操作。我相信这实际上是一种推荐的键命令方法,因为这会使命令对用户可见。这是一个例子。
SEL s1 = NSSelectorFromString(@"test1:");
unichar c1 = NSLeftArrowFunctionKey;
NSMenuItem* m4 = [[NSMenuItem alloc] initWithTitle:@"Test 1" action:s1 keyEquivalent:[NSString stringWithCharacters:&c1 length:1]];
[m4 setKeyEquivalentModifierMask:0]; // Remove need for command key.
将此菜单添加到主菜单。