我很难理解当一个人在 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:?