Search code examples
xcodecocoansviewosx-lionnswindow

mouseMoved not called


I have a subclassed NSView which is part of a .xib-file of a subclassed NSDocument, which gets alive by the default behaviour of NSDocumentController's openDocument: method. In this subclassed NSView I have implemented the methods awakeFromNib, in which the view's NSWindow setAcceptsMouseMovedEvents:YES method is called, and acceptsFirstMouse:, which returns YES. But my mouseMoved: method implementation of my subclassed NSView doesn't get called when I move the mouse over it. What might be the problem?


Solution

  • I haven't used mouseMoved: in a real project (I've just played around with it a little). As far as I can tell, mouseMoved: is only called when your view is the first responder and then not only while the mouse is over your view, but always when the mouse moves. You might be better off using an NSTrackingArea. Check the Cocoa Event Handling Guide for more information.