我在这里有一个NSMenu非常非常奇怪的问题。NSMenuItem,自定义视图和mouseUp的奇怪问题:
大约有一半的NSMenuItems通过NSMenuItem上的setView:方法对它们使用自定义视图。在这个自定义视图中,我已经实现了mouseUp:当用户点击菜单项时捕获,并且这在我第一次打开菜单时完全起作用。
虽然第二次,如果我点击时按住鼠标稳定,mouseUp不会在任何这些菜单项上被调用。但是,如果我点击,然后稍微移动光标,并释放mouseUp被调用。因此,出于某种原因,某些事件正在拦截这些事件,但仅在菜单第二次出现时才会发生,并且如果光标在mouseDown事件之后移动,则会通过该事件。 (出于某种原因,mouseDown永远不会被调用,在菜单的第一次或第二次出现时)。
有人有什么线索可以在这里发生什么?什么是拦截我的鼠标事件,为什么它们会在菜单的第一次出现时通过我的自定义视图,而不是第二次?
同样经历,如果我双击(然后在菜单的第二个外观上调用mouseUp两次)。 – 2013-02-25 20:09:17
所以我必须在这个视图顶部的NSTextViews。那些正在获得mouseDown,但他们也在他们的超级视图的同时开始失败。这几乎就像NSMenu拦截鼠标事件的顶部。 – 2013-02-25 21:42:13