Without seeing the event processing code, it’s hard for you to understand what is happening, but I suspect that you can call super implementation of the various event processing methods in your implementations.
NSView is a subclass of NSResponder , so by default NSResponder events are sent to the responder chain. The view supervisor is the next object in the responder chain, so if you call, for example, [super mouseDown:event] in your implementation of ‑mouseDown: event will be passed to the supervisor.
The fix is that you are not calling the super implementation in event handlers.
This is not true:
- (void)mouseDown:(NSEvent*)anEvent {
It is right:
- (void)mouseDown:(NSEvent*)anEvent {
source share