Dav*_*ong 12

如果您可以定位OS 3.2或更高版本,则可以使用UITapGestureRecognizer.它非常易于使用:只需配置它并将其附加到视图中即可.当执行手势时,它将触发gestureRecognizer目标的动作.

例:

UITapGestureRecognizer * r = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewWasDoubleTapped:)];
[r setNumberOfTapsRequired:2];
[[self view] addGestureRecognizer:r];
[r release];
Run Code Online (Sandbox Code Playgroud)

然后你只需要实现一个- (void) viewWasDoubleTapped:(id)sender方法,并[self view]在双击时调用它.

编辑

我刚刚意识到你可能正在谈论用两根手指检测一个水龙头.如果是这样的话,你可以做到

[r setNumberOfTouchesRequired:2]
.

这种方法的主要优点是您不必创建自定义视图子类


sho*_*sti 4

如果您的目标不是 3.2+:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    if ([touches count] == 2) {
        //etc
    }
}
Run Code Online (Sandbox Code Playgroud)