Cocoa 将WebView添加到NSWindow中的特定视图时,:hover停止工作。我怎样才能解决这个问题?

Cocoa 将WebView添加到NSWindow中的特定视图时,:hover停止工作。我怎样才能解决这个问题?,cocoa,webview,webkit,nswindow,Cocoa,Webview,Webkit,Nswindow,如果我创建一个WebView并将其添加到NSThemeFrame,如下所示: 让window成为我要添加到的NSWindow实例: NSView * themeFrame = window.contentView; [themeFrame.superview addSubview:myWebView]; 然后any:我加载的页面中元素的悬停标记不再起作用。但是:悬停确实出现在mouseDown/mouseUp上。所以这可能是一个刷新问题。我试着在mouseMoved:中调用[myWebView

如果我创建一个WebView并将其添加到NSThemeFrame,如下所示:

让window成为我要添加到的NSWindow实例:

NSView * themeFrame = window.contentView;
[themeFrame.superview addSubview:myWebView];
然后any:我加载的页面中元素的悬停标记不再起作用。但是:悬停确实出现在mouseDown/mouseUp上。所以这可能是一个刷新问题。我试着在mouseMoved:中调用[myWebView setNeedsDisplay:YES],但没有成功

contentView有什么特别之处吗?在调用setNeedsDisplay时,我对NSView尝试了同样的方法,并覆盖了它的mouseMoved:method,而NSView对mouseMove处理得很好。悬停有什么特别之处吗

欢迎任何想法或闲谈


我可能有与相同的问题,但没有答案。

我也有类似的问题,在调试和阅读WebKit的源代码后,我找到了解决方案。对于,关键部分似乎是,特别是方法
-[WebHTMLView\u updateMouseoverWithEvent:
。检查视图的窗口是否为关键点窗口,可以肯定的是,我的窗口不是关键点,即使我在其上调用了
makeKeyWindow

我的窗口是一个文档窗口的子窗口,为了解决悬停问题,我创建了一个
NSWindow
子类,并覆盖了
isKeyWindow
,如下所示:

- (BOOL)isKeyWindow
{
    return [super isKeyWindow] || [[self parentWindow] isKeyWindow];
}

这使得悬停在我的文档的子窗口的WebView中工作。

在这个问题上有什么进展吗?