2014-07-24 26 views
1

我有我的標準應用程序設置,有很多意見的窗口。有時候我會把NSView放在所有東西的頂部,黑色並帶有一定的透明度,以作爲調光器/覆蓋層。NSView吸收點擊?

我需要這個頂部覆蓋視圖吸收所有的點擊,以便它下面的任何視圖不能與之交互。例如。 NSView下的NSButton將不可點擊。

我該怎麼做?

我已經看過-(NSView *)hitTest:(NSPoint)aPoint但我不想把這個放在每一個帶有規則的子視圖上,以在覆蓋視圖出現時阻止點擊。

任何幫助非常感謝,謝謝。

+1

如果您有覆蓋整個窗口的視圖,我相信下面的視圖不應該接收任何鼠標事件。否則,請嘗試重寫'mouseDown:'(沒有任何內容)。 – TheAmateurProgrammer

+0

那麼這個伎倆!我沒有意識到這會起作用。我可以點擊NSView,直到添加一個空的'mouseDown'方法。謝謝!隨意將其作爲正式答案。 –

回答

3

用空的mouseDown:覆蓋NSView,下面的視圖將不會收到任何鼠標事件。