NSView - mouseEntered не вызывается при создании представления - PullRequest
0 голосов
/ 07 июля 2011

Есть ли способ проверить, что мышь находится в поле зрения?

1 Ответ

0 голосов
/ 07 июля 2011

Ваш вопрос немного неясен, но я думаю, что вы хотите определить положение мыши, когда ваш пользовательский вид становится видимым, и обновить его, если положение мыши находится в пределах границ представления.

Если это так, вынужно сделать что-то вроде этого:

- (void)viewDidMoveToWindow
{
    if(![self window])
        return;

    NSPoint mouseLocation = [[self window] mouseLocationOutsideOfEventStream];

    if(NSPointInRect(mouseLocation, [self frame]))
    {
        NSLog(@"mouse is over the view");
    }
    else
    {
        NSLog(@"mouse is not over the view");
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...