我正在尋找在我的NSView
子類中處理「鼠標按住一個位置」事件的正確方法。在Cocoa中,當鼠標被按下(但沒有移動)時,我的NSView如何接收事件?
我對Cocoa的mouseDragged:
事件很熟悉,但只有當鼠標移動時纔會觸發它。如果鼠標停留在相同位置,則不會觸發拖動事件。同樣,mouseDown:
只在第一次按下按鈕時觸發。只要鼠標按在特定區域,我的視圖就需要執行操作。
做這種事情的正確方法是什麼?
我正在尋找在我的NSView
子類中處理「鼠標按住一個位置」事件的正確方法。在Cocoa中,當鼠標被按下(但沒有移動)時,我的NSView如何接收事件?
我對Cocoa的mouseDragged:
事件很熟悉,但只有當鼠標移動時纔會觸發它。如果鼠標停留在相同位置,則不會觸發拖動事件。同樣,mouseDown:
只在第一次按下按鈕時觸發。只要鼠標按在特定區域,我的視圖就需要執行操作。
做這種事情的正確方法是什麼?
您是否可以在收到mouseDown:
事件時開始執行操作,並在您收到mouseUp:
(或mouseDragged:
,如果您還想停止時)停止操作?
我不確定你想要完成什麼,但是如果你想在mouseDown:
之後的設定時間間隔內重複一個動作,你可以在mouseDown:
方法中設置一個重複的NSTimer,該方法儘快取消因爲有一個mouseDragged:
或mouseUp:
事件。
+1這肯定會奏效。我想我只是感到驚訝,沒有一個內置的事件或方法來處理這種事情。我期待着像'mouseStillDown:' – 2010-08-11 23:51:52
這樣的事件對不起,很長時間了,謝謝你的回答。這最終成爲我使用的解決方案。 – 2010-11-10 17:25:40