在uiscrollview中检测toucesbegan

时间:2013-06-12 20:33:17

标签: ios uiscrollview uigesturerecognizer

我在水平滚动视图中添加了垂直滑动。这一点工作得很好,但是当我接触它时,我想点亮滚动视图上方和下方的目标,以指示向上或向下滑动导致动作。

我该如何做到最好?

使用敲击检测器不会切割它,因为它只会在手指抬起时才会发光。

使用具有短射击延迟的长按探测器也不起作用,因为它似乎禁用所有其他手势识别器。

2 个答案:

答案 0 :(得分:1)

您可以继承UIScrollView并覆盖这些方法:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;

答案 1 :(得分:0)

Grr ......为什么这总是发生 - 就在你放弃之后,答案就来了!

是的,longpress探测器是检测手势开始和结束的方法,但是您需要在合适的对象中实现UIGestureRecognizerDelegate协议,并将其设置为所有手势识别器的委托,然后实现此方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
    return YES;
}

这使得长按探测器不会覆盖所有其他手势识别器。