2010-05-18 59 views
5

webview in core animation layer分层可可WebView - 绘制在顶部?

我可以找到的唯一的其他线程是上述不一定符合我的需要。有没有可靠的方法来简单地在webview上绘制视图?我试图在WebView的基础上对一个常规的NSView进行分层,并且它首先绘制正确,但是在webview中的任何移动(滚动页面等)都会使视图无效并产生视觉工件。

我已经试过:

[[[NSApp mainWindow] contentView] addSubview:view positioned:NSWindowAbove relativeTo:webView]; 

没有运气,同样的问题 - Z排序似乎没有工作,除非我失去了一些东西。

这是只是网页浏览的限制?

我也尝试实现上述视图作为一个窗口,它工作得更好(只是通过编程控制窗口的位置)。然而,用户想要的行为是让用户在该窗口中输入一些文本,但不要窃取“焦点” - 即当用户单击文本字段时,主窗口变为非活动状态(x - +变为灰色)在新窗口中。任何方式来避免这种情况?

我已经尝试了继承NSWindow并覆盖canBecomeKey(返回YES)和canBecomeMain(返回NO),但窗口仍然窃取焦点。

编辑:我哭了:-(我无法找出围绕WebKit绘图的方法,另一方面,我确实想办法强制我的应用程序的主窗口保持活动状态即使你有一个带有关键状态的弹出窗口,但是当在弹出对话框中使用文本输入时(它必须强制进入关键窗口状态),它会产生意想不到的后果Backspace不起作用:: shakes head ::和鼠标事件没有得到分配给下面的webkit的视图(鼠标悬停嵌入在HTML组件)。Craptacular。

乔希

+0

您是否尝试将视图添加为webview的子视图? – 2010-08-06 01:04:35

+0

不,那也行不通 – strange 2012-04-25 11:41:36

回答

2

有点晚了,但我撞我的头,在同样的问题和两个几年后问题我仍然找不到答案。就我而言,在我想通过WebView绘制的视图上设置wantsLayer = YES解决了问题。

+0

这也适用于我,谢谢! – starkos 2015-03-25 15:29:48