好的,所以我一直在寻找几乎所有捕捉多点触控手势的选项,我终于绕了一圈,回到了 UIPanGestureRecognizer。
我想要的功能真的很简单。我已经设置了一个两指平移手势,我希望能够根据我移动的像素数量来随机播放一些图像。我已经解决了所有问题,但是如果平移手势被反转,我希望能够捕捉到。
是否有一种内置的方式我只是没有看到检测到返回一个手势?我是否必须存储我的原始起点,然后跟踪终点,然后查看它们之后的移动位置,并确定它是否小于初始终点,然后相应地反转?我可以看到这个工作,但我希望有一个更优雅的解决方案!
谢谢
编辑:
这是识别器设置为触发的方法。它有点破解,但它的工作原理:
-(void) throttle:(UIGestureRecognizer *) recognize{
throttleCounter ++;
if(throttleCounter == 6){
throttleCounter = 0;
[self nextPic:nil];
}
UIPanGestureRecognizer *panGesture = (UIPanGestureRecognizer *) recognize;
UIView *view = recognize.view;
if(panGesture.state == UIGestureRecognizerStateBegan){
CGPoint translation = [panGesture translationInView:view.superview];
NSLog(@"X: %f, Y:%f", translation.x, translation.y);
}else if(panGesture.state == UIGestureRecognizerStateEnded){
CGPoint translation = [panGesture translationInView:view.superview];
NSLog(@"X: %f, Y:%f", translation.x, translation.y);
}
}
我刚刚到了要开始尝试跟踪值之间的差异的地步……尝试判断它们的平移方式