3

我很难理解当一个人在 NSView 中覆盖鼠标事件时会发生什么。

在以下示例中,两个方法都由 Cocoa 框架调用:

- (void)mouseDown:(NSEvent *)theEvent {
  NSLog(@"mouseDown");
}

- (void)mouseDragged:(NSEvent *)theEvent {
  NSLog(@"mouseDragged");
}

当我将 [super mouseDown:theEvent] 添加到 mouseDown: 方法时,Cocoa 框架不再调用 mouseDragged: 方法:

- (void)mouseDown:(NSEvent *)theEvent {
  NSLog(@"mouseDown");
  [super mouseDown:theEvent];
}

- (void)mouseDragged:(NSEvent *)theEvent {
  NSLog(@"mouseDragged");
}

为什么是这样?如何调用 Cocoa 框架的标准 mouseDown 行为以便调用 mouseDragged:?

4

0 回答 0