我在单击某个按钮时创建自定义NSView,如果您在NSView外部单击,我想关闭此自定义视图。但似乎我无法在此自定义NSView中接收mouseDown事件。有没有人知道如何适应它?非常感谢。
答案 0 :(得分:1)
我想分享两个与NSEvent方法不同的其他解决方案,没有沙盒限制。
封面窗口。 它更多地涉及代码和一个很好的练习,可以学习窗口和视图的可能性。但值得学习和了解。
创建一个占用整个屏幕的无边框窗口。然后,无边界窗口可以处理鼠标事件。
跟踪区域。 这种方法类似
答案 1 :(得分:0)
您想使用NSEvent全局事件监视器。 然后,您可能需要将鼠标NSPoint转换为视图坐标,并使用函数NSPointInRect查看它是否在内部。