移动无边框 NSWindow 完全被 Web View 覆盖
在我的 COCOA 应用程序中,我实现了一个自定义无边框窗口。 Window 的内容区域完全被 WebView 覆盖。我希望当用户单击并将鼠标拖动到内容区域中的任意位置时,此无边框窗口会移动。我尝试覆盖 isMovableByWindowBackground 但没有用。我该如何解决这个问题?
In my COCOA application I have implemented a custom borderless window. The content area of the Window is fully covered by a WebView. I want this borderless window to move when user clicks and drag mouse anywhere in the content area. I tried by overriding isMovableByWindowBackground but no use. How can I fix this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在 WebView 上调用 -setMovableByWindowBackround:YES 并使窗口具有纹理可能会起作用。
Calling -setMovableByWindowBackround:YES on the WebView and making the window textured might work.
我就是这样做的。
和.h文件:
This is how I did it.
And .h file:
由于这是 Google 上的热门搜索...所提供的方法对我来说不起作用,因为 WKWebView 在鼠标事件到达窗口之前拦截了它们。我必须创建 WKWebView 的子类并在那里完成工作(h/t 到 Apple 的照片编辑器/WindowDraggableButton.swift 示例)。
我使用 Xamarin,但代码非常简单......以下是重要的部分:
Since this is the top hit on Google...the provided approach didn't work for me as WKWebView intercepts the mouse events before they reach the window. I had to instead create a subclass of WKWebView and do the work there (h/t to Apple's Photo Editor/WindowDraggableButton.swift example).
I use Xamarin, but the code is pretty simple...here are the important bits:
@starkos 在 https://stackoverflow.com/a/54987061/140927 提供了正确的答案以下只是 ObjC在 WKWebView 的子类中实现:
有关如何操作标题栏的更多信息,请参阅 https://github.com/lukakerr/NSWindowStyles
@starkos porvided the correct answer at https://stackoverflow.com/a/54987061/140927 The following is just the ObjC implementation in a subclass of WKWebView:
For further info about how to manipulate the title bar, see https://github.com/lukakerr/NSWindowStyles