mouseMoved не вызывается при наведении на View

У меня есть подкласс NSView, который реализует mouseMoved.

Однако, когда я наводил указатель мыши на представление, mouseMoved никогда не вызывается. Почему?

Я использую OS X Lion.

Спасибо, Вэнс


person jox    schedule 11.08.2011    source источник


Ответы (3)


Даже с -setAcceptsMouseMovedEvents: ваше представление получит -mouseMoved: только тогда, когда оно будет первым респондентом. Если вы хотите получать события перемещения мыши, когда ваше представление не является первым респондентом, взгляните на NSTrackingArea.

person kperryua    schedule 11.08.2011

Попробуйте включить события mouseMoved в окне, содержащем представление, с помощью метода setAcceptsMouseMovedEvents: класса NSWindow.

person Tim Dean    schedule 11.08.2011
comment
Я пытаюсь установить [pullDownWindow setAcceptsMouseMovedEvents: YES]; в экземпляре NSWindow представление является частью, но все еще ничем. Есть еще что-нибудь? - person jox; 11.08.2011

Я решил эту проблему, поместив этот хак в CCDirectorMac: после:

 [fullScreenWindow_ makeMainWindow];
 [fullScreenWindow_ makeKeyAndOrderFront:self];

установите acceptMouseMovedEvents на yes:

 [fullScreenWindow_ setAcceptsMouseMovedEvents:YES];
person Kiraya    schedule 23.02.2012