1

出于自定义原因,我正在构建自己的滑块控件,如果需要,它是使用多个 UIImageView 和 UIButton 构建的。我已经使用 UIPanGestureRecognizer 进行平移,它工作正常。我正在尝试挂钩一个事件,该事件将处理 UIControlEventTouchUpInside 的代码,但在 Pan 事件触发后我无法触发它。我已经使用 UITapGestureRecognizer 和使用 UIButton 的内置事件来实现它,但它只有在它是唯一的手势时才会触发。我需要知道用户何时不再左右拖动滑块,但它只能在用户从屏幕上抬起他/她/它的手指后发生(我不能使用计时器来查看移动何时停止,因为用户可能仍在决定启动 Pan 后的方向)。

简短版本:我如何知道用户何时停止平移控件并将手指从屏幕上移开?

4

1 回答 1

3

假设您像这样初始化识别器:

UIPanGestureRecognizer *grPan=[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panning:)];

你可以这样做:

-(void)panning:(UIPanGestureRecognizer *)senderGestureRecognizer {
    if(senderGestureRecognizer.state==UIGestureRecognizerStateEnded)
    {
        //User stopped panning (lifted finger)
    }
}
于 2013-10-25T14:58:34.547 回答