我必须按照代码在我的自定义NSView
上捕获mouseDown
,但我认为这只捕获了多少次点击(使用clickCount
),而不是使用了多少手指点击:
- (void)updateTrackingAreas{
if(trackingArea != nil) {
[self removeTrackingArea:trackingArea];
}
int opts = (NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways);
trackingArea = [[NSTrackingArea alloc] initWithRect:[self bounds]
options:opts
owner:self
userInfo:nil];
[self addTrackingArea:trackingArea];
}
- (void)mouseDown:(NSEvent *)theEvent{
NSLog(@"%li",theEvent.clickCount);
if ([theEvent clickCount] == 3){
NSLog(@"3");
}else{
NSLog(@"normal");
}
}
关于如何在我的自定义 NSView 上用 3 根手指捕捉 1 次点击的任何想法?我想重现类似 Finder.app 选项的内容,您可以在其中用 3 根手指点击文件并显示 QuickLook 面板。
谢谢!
尝试在mouseUp:方法中执行此操作(而不是mouseDown:)。此外,您不必设置跟踪区域来接收鼠标向上:或鼠标向下:事件。
点击事件
////
"如果您在NSView中的点击速度足够快,您将从方法"[theEvent clickCount]"中获得事件"点击计数"。
尝试在鼠标向下记录点击计数
NSLog(@"%d",[theEvent clickCount]);试着快一点点点击。
///
触摸事件
////
在 OS X>= 10.6 中,您可以尝试覆盖这些触摸事件手势
- (void)touchesBeganWithEvent:(NSEvent *)event;
- (void)touchesMovedWithEvent:(NSEvent *)event;
- (void)touchesEndedWithEvent:(NSEvent *)event;
- (void)touchesCancelWithEvent:(NSEvent *)event;
&
加
[self setAcceptsTouchEvents:YES]; in init
///
希望对!!有所帮助