我在這裏有一個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