Сделайте WebView из WebKit перетаскиваемым мышью в Какао - PullRequest
6 голосов
/ 17 июля 2011

Я хотел бы создать виджет рабочего стола и хочу, чтобы его было очень легко стилизовать с помощью HTML / CSS.Я решил использовать WebView для этой задачи.

У меня есть NSWindow без полей с WebView внутри.Я хочу сделать его перетаскиваемым с помощью мыши (как любое обычное окно можно перетащить с помощью его заголовка, но щелкнув где-нибудь внутри моего WebView).Пытался создать подкласс WebView и переопределить события mouseDown и mouseDragged, но это не сработало (по понятным причинам).

Конечно, я могу создать прозрачное представление выше WebView для решенияпроблема, но я действительно хочу найти лучший путь.Кто-нибудь знает, как этого добиться?

1 Ответ

4 голосов
/ 17 июля 2011

Проблема была решена путем переопределения метода - (void)sendEvent: в родительском подклассе NSWindow, например:

//Overriding mouse events
- (void)sendEvent:(NSEvent *)theEvent
{
    if ([theEvent type] == NSLeftMouseDown)
    {
        [self mouseDown:theEvent];
    }
    else if ([theEvent type] == NSLeftMouseDragged)
    {
        [self mouseDragged:theEvent];
    }
    else
    {
        [super sendEvent:theEvent];
    }
}

Полагаю, это лучшее решение.

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