我想创建一种桌面小部件,并希望它通过HTML / CSS非常容易。我决定使用WebView
来完成这项任务。
我的内置NSWindow
无边框WebView
。我希望使用鼠标使其可拖动(因为任何普通窗口都可以使用其标题拖动,但通过单击WebView
内的任何位置)。试图继承WebView
并覆盖mouseDown
和mouseDragged
事件,但这不起作用(原因很明显)。
当然,我可以在WebView
之上创建透明视图来解决问题,但我真的想找到更好的方法。有人知道如何做到这一点吗?
答案 0 :(得分: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];
}
}
我想这是最好的解决方案。