我能找到的唯一其他线程是上面的,不一定符合我的需要.是否有一种可靠的方法来简单地在webvIEw上绘制视图?我试图在WebVIEw上层叠常规NSVIEw,并且它首先绘制正确,但是webvIEw中的任何移动(滚动页面等)似乎使视图无效并产生视觉伪像.
我试过了:
[[[NSApp mainWindow] contentVIEw] addSubvIEw:vIEw positioned:NSWindowAbove relativeTo:webVIEw];
没有运气,同样的问题 – 除非我遗漏某些东西,否则z-ordering似乎不起作用.
这只是webvIEws的限制吗?
我也尝试将上面的视图实现为一个窗口,它工作得更好(只是以编程方式控制窗口的位置).但是,所需的行为是用户在此窗口中输入一些文本,但是为了不使用“焦点” – 即当用户点击文本字段时主窗口变为非活动状态(x – 变为灰色)新窗口.有什么办法可以避免吗?
我已经尝试了子类化NSWindow并重写canBecomeKey(返回YES)和canBecomeMain(返回NO),但窗口仍然窃取焦点.
编辑:我哭了:-(我无法弄清楚在webkit上的绘图方式.另一方面,我做了一个方法来强制我的应用程序的主窗口保持活动状态,即使你有一个具有键状态的d出窗口.但是,当在d出对话框中使用文本输入时(必须强制进入键窗口状态),它会产生意想不到的后果.退格不起作用::摇头::和鼠标事件没有分发到下面的webkit视图(对于嵌入在HTML中的组件的鼠标悬停).疯狂.
玩笑
解决方法 有点晚了,但我对同样的问题感到头疼,问题发生两年后我仍然无法找到答案.在我的例子中,在我想通过WebVIEw绘制的视图上设置wantsLayer = YES解决了问题. 总结以上是内存溢出为你收集整理的objective-c – 分层Cocoa WebView – 绘图顶部?全部内容,希望文章能够帮你解决objective-c – 分层Cocoa WebView – 绘图顶部?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)