击中钥匙时发出不必要的哔声

the*_*end 5 cocoa nsview nsresponder

我有一个自定义视图,接受键输入,其内部a NSScrollView.我已设置acceptsFirstResponder为yes,它正在成功接受keyDown.但每次按下钥匙,我都会听到一声哔哔声.我确信还有其他东西需要但不记得是什么..请帮助.

-(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;
}
   }
Run Code Online (Sandbox Code Playgroud)

the*_*end 9

得到它了.哔哔声发生在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)