使WebKit中的WebView可以通过鼠标在Cocoa中拖动

Dan*_*ara 6 cocoa webkit webview

我想创建一种桌面小部件,并希望它通过HTML/CSS非常容易.我决定用WebView这项任务.

我有NSWindow一个WebView内部无边界.我想使用鼠标使其可拖动(因为任何普通窗口都可以使用其标题拖动,但通过单击我内部的任何位置WebView).尝试子类WebView和覆盖mouseDownmouseDragged事件,但这不起作用(出于显而易见的原因).

当然,我可以创建一个透明的视图WebView来解决问题,但我真的想找到一个更好的方法.有谁知道如何实现这一目标?

Dan*_*ara 4

- (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];
    }
}
Run Code Online (Sandbox Code Playgroud)

我想这是最好的解决方案。