I created a subclass of NSImageView
to capture mouseEntered
and mouseExited
events. But only mouseUp
and mouseDown
events are getting called. How to capture the mouseEntered
and mouseExited
events in NSImageView
subclass?
If You want to use mouseEntered:
and mouseExited:
You need to use NSTrackingArea
. Here is reference NSTrackingArea Class Reference.
Example:
//Add this to Your imageView subclass -(void)mouseEntered:(NSEvent *)theEvent { NSLog(@"Mouse entered"); } -(void)mouseExited:(NSEvent *)theEvent { NSLog(@"Mouse exited"); } -(void)updateTrackingAreas { [super updateTrackingAreas]; if(trackingArea != nil) { [self removeTrackingArea:trackingArea]; [trackingArea release]; } int opts = (NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways); trackingArea = [ [NSTrackingArea alloc] initWithRect:[self bounds] options:opts owner:self userInfo:nil]; [self addTrackingArea:trackingArea]; }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With