the*_*end 5 cocoa nsview nsresponder
我有一个自定义视图,接受键输入,其内部a NSScrollView.我已设置acceptsFirstResponder为yes,它正在成功接受keyDown.但每次按下钥匙,我都会听到一声哔哔声.我确信还有其他东西需要但不记得是什么..请帮助.
Run Code Online (Sandbox Code Playgroud)-(void)keyUp:(NSEvent *)theEvent{ NSLog(@"is first responder %i", self.window.firstResponder == self); switch (theEvent.keyCode) { case KeyCodeEnumBackspace: case KeyCodeEnumDelete: { if (self.scheduleControl.selectedEvent) { [self.scheduleControl deleteEvent:self.scheduleControl.selectedEvent]; } } break; default: break; } }
得到它了.哔哔声发生在keyDown,而不是在KeyUp.要删除蜂鸣声,我需要处理它,一个空的实现就足够了.关键是不要把它传递给超级
- (void)keyDown:(NSEvent *)theEvent {
}
- (void)keyUp:(NSEvent *)theEvent {
switch (theEvent.keyCode) {
case KeyCodeEnumBackspace:
case KeyCodeEnumDelete:
if (self.scheduleControl.selectedEvent) {
[self.scheduleControl deleteEvent:self.scheduleControl.selectedEvent];
}
break;
default:
break;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1455 次 |
| 最近记录: |