Q
接收雙擊事件
5
A
回答
14
重寫NSResponder
方法-mouseUp:
並檢查提供的事件clickCount
。如果clickCount == 2
,那麼你正在尋找一個雙擊。如果它是1,那麼單擊一次。 0,然後他們在鼠標向下和鼠標之間等待了足夠長的時間,以至於系統認爲它不是點擊,只是區分了事件。
- (void)mouseUp:(NSEvent *)event
{
NSInteger clickCount = [event clickCount];
if (2 == clickCount) [self handleDoubleClickEvent:event];
}
這裏假定處理點擊的對象是響應者鏈的一部分。如果不是,則必須以另一種方式獲取事件,如繼承NSApplication
或NSWindow
,並覆蓋-sendEvent:
以在相應事件繼續傳遞之前攔截相應事件。
+5
需要強調的是,這個答案中的「NSResponder」指的是Cocoa中的類(NSView,NSWindow和NSApplication從中繼承而來),而不是其後的名字。 –
2
查看NSEvent的-clickCount
方法。
2
還請注意,某些NSControl
有setDoubleAction:
,因此通過setDoubleAction:
註冊的選擇器被髮送到目標。見
相關問題
- 1. 雙擊事件
- 2. 雙擊事件
- 3. 統一雙鼠標點擊輸入事件接收
- 4. 正確接收點擊事件
- 5. 按鈕雙擊事件
- 6. 在Android中雙擊事件
- 7. 雙擊未觸發事件
- 8. 雙擊計時器事件
- 9. 雙擊事件在IE
- 10. 單擊並雙擊事件觸發
- 11. java swing:單擊事件雙擊工作
- 12. Javascript單擊事件需要雙擊
- 13. 接收COM事件
- 14. 區分Qt中的單擊事件和雙擊事件
- 15. 在jQuery中綁定事件(雙擊事件點擊...)
- 16. 在單擊事件時停止雙擊事件
- 17. 雙擊事件觸發時如何取消單擊事件
- 18. 鏈接事件雙向
- 19. 如何爲Asp.net控件的鏈接按鈕創建雙擊&單擊事件?
- 20. 調用C#外接從Visio雙擊事件
- 21. 列表視圖雙擊事件
- 22. 的jQuery的「雙擊」事件(DBLCLICK移動)
- 23. .NET:在TabControl中雙擊事件
- 24. GaugeControl雙擊事件處理程序
- 25. MVVM基金會雙擊事件
- 26. 雙擊事件後敲除綁定
- 27. 雙擊JList元素上的事件
- 28. ASP.NET頁面雙擊事件引發
- 29. NotifyIcon不發射雙擊事件
- 30. TreeView,Overiding雙擊鼠標事件WPF
iOS或Mac OS X? – duskwuff
@duskwuff OSX(查看標籤) – Sciguy77
@duskwuff:另外,iOS沒有點擊。 –