【发布时间】:2014-07-24 12:12:54
【问题描述】:
我有我的标准应用程序设置,有很多视图的窗口。有时我会在所有东西的顶部放置一个 NSView,黑色和一些透明度,以充当调光器/叠加层。
我需要这个顶部覆盖视图来吸收所有点击,这样它下面的任何视图都不能与之交互。例如。此 NSView 下的 NSButton 将不可点击。
我该怎么做?
我见过-(NSView *)hitTest:(NSPoint)aPoint,但我不想在每个子视图上都设置一个规则来阻止在覆盖视图存在时点击。
【问题讨论】:
-
如果你有一个覆盖整个窗口的视图,我相信下面的视图不应该接收任何鼠标事件。否则尝试覆盖
mouseDown:(其中没有任何内容)。 -
成功了!我没有意识到这会奏效。我可以单击 NSView 直到添加一个空的
mouseDown方法,正如你提到的那样。谢谢!随意将其作为官方答案。
标签: objective-c macos click nsview