Ghi đè phương thức NSResponder
-mouseUp:
và kiểm tra sự kiện được cung cấp clickCount
. Nếu clickCount == 2
, thì bạn đang xem xét nhấp đúp. Nếu đó là 1, thì chỉ cần một cú nhấp chuột. 0, sau đó họ chờ đợi đủ lâu giữa chuột và chuột lên mà hệ thống quyết định nó không phải là một nhấp chuột, chỉ cần phân biệt xuống sau đó lên các sự kiện.
- (void)mouseUp:(NSEvent *)event
{
NSInteger clickCount = [event clickCount];
if (2 == clickCount) [self handleDoubleClickEvent:event];
}
Điều này giả định đối tượng xử lý nhấp chuột là một phần của chuỗi trả lời. Nếu không, bạn sẽ phải nhận sự kiện của mình theo cách khác, như phân lớp NSApplication
hoặc NSWindow
và ghi đè -sendEvent:
để chặn sự kiện thích hợp trước khi sự kiện đó được chuyển đi nữa.
Nguồn
2011-08-19 23:17:26
iOS hoặc Mac OS X? – duskwuff
@duskwuff OSX (xem thẻ) – Sciguy77
@duskwuff: Ngoài ra, iOS không có nhấp chuột. –