检测UIScrollView中的双击

isc*_*ers 1 iphone

如何在UIScrollview中检测双击?

我试过了:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
    UITouch *touch = [touches anyObject];

    if (touch.tapCount == 2) {
        // some operations here
    }
}   
Run Code Online (Sandbox Code Playgroud)

但这不是检测UIScrollView中的双击,有没有其他方法来检测双击?

问候

aeg*_*orz 17

如果你的目标是3.2+,你可以尝试使用 UITapGestureRecognizer

UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc] initWithTarget:yourViewController action:@selector(tapGesture:)];
tap.numberOfTapsRequired = 2;
tap.numberOfTouchesRequired = 1;
[scrollView addGestureRecognizer:tap];
[tap release];
Run Code Online (Sandbox Code Playgroud)

然后你在viewcontroller中处理点击:

- (void)tapGesture:(UIGestureRecognizer*)gesture {
    // Do something
}
Run Code Online (Sandbox Code Playgroud)


kru*_*nal 6

使用以下代码进行双击.

-(void) viewDidLoad{
    // other necessary operations
    UITapGestureRecognizer* dTap = [[UITapGestureRecognizer alloc] initWithTarget : self  action : @selector (doubleTap:)];

    [doubleTap setDelaysTouchesBegan : YES];
    dTap.numberOfTapsRequired = 2;
    dTap.numberOfTouchesRequired = 1;
    [self.view addGestureRecognizer : dTap];
    [dTap release];
}

- (void) doubleTap : (UIGestureRecognizer*) sender
{
    NSLog (@"Double tap Do operations here...");
}
Run Code Online (Sandbox Code Playgroud)