0

我在水平滚动视图中添加了垂直滑动。该位工作正常,但我想在用户触摸它时点亮滚动视图上方和下方的目标,以指示向上或向下滑动会导致动作。

我怎样才能做到最好?

使用敲击探测器不会切断它,因为它只会在手指抬起时触发。

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

4

2 回答 2

1

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

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
于 2013-06-12T20:43:23.110 回答
0

Grr...为什么总是会发生这种情况-就在您放弃之后,答案就来了!

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

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

这可以防止长按检测器覆盖所有其他手势识别器。

于 2013-06-12T20:45:01.860 回答