TouchesBegan覆盖touchUpInside动作

时间:2012-03-16 14:41:25

标签: iphone ios5 uibutton touchesbegan

我已经实现了自定义UIButton,为了让我处理LongPress事件(不使用手势识别器),我必须在我的班级上使用touchesBegan:touchesEnded:。问题是现在常规按钮事件不起作用。我想知道导致这种情况的原因以及如何避免它?

基于触摸的事件正在发挥作用,但我之前为touchUpInside:所做的操作已不再有效。

由于

1 个答案:

答案 0 :(得分:1)

不要将touchesBegan:用于长按,请使用此手势识别器!

UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc]     initWithTarget:self action:@selector(longTap:)];
[view addGestureRecognizer:longPressGesture];
[longPressGesture release];

-(void) longTap:(UILongPressGestureRecognizer *)gestureRecognizer{
    NSLog(@"gestureRecognizer= %@",gestureRecognizer);
    if ([gestureRecognizer state] == UIGestureRecognizerStateBegan) {
        NSLog(@"longTap began");
    } 
}