尝试使用字母“f”在我的窗口控制器中通过keyDown:(NSEvent *)theEvent
触发操作,该操作只会偶尔起作用。
如果我在theEvent.characters
函数中记录keyDown
,我注意到我只在30%-80%的时间内接收了关键事件。这看起来很随意。
当我按下“f”键并且keydown没有拿起它时,我的NSTableView
有时会向下滚动。
“f”是NSTableView
使用的快捷方式吗?造成这种情况的原因是什么?
keyDown代码:
- (void)keyDown:(NSEvent *)theEvent {
if ([theEvent.characters isEqualToString:@"f"]) {
if (!theEvent.isARepeat) {
[self clickFavorite];
}
} else if ([theEvent.characters isEqualToString:@" "]) {
if (!theEvent.isARepeat) {
[self clickPlayPause];
}
} else {
[super keyDown:theEvent];
}
}