2010-05-18 82 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