UIPanGestureRecognizer不会切换到“结束”状态。或者“取消”如果用户在负方向上平移x和y
我对UIPanGestureRecognizer有一点问题。
识别器不报告UIGestureRecognizerStateEnded
如果用户平移到左上角则表示状态(表示负x和y
方向)
如果有任何方向,状态将更改为UIGestureRecognizerStateEnded
当用户抬起手指时它是积极的,但它只是停止报告
如果两个方向都为负或零,则执行操作。
这很糟糕,因为我只要用户隐藏一些叠加视图
拖拽周围的东西,这些观点在失败的情况下不会返回。
当然我可以设置一个NSTimer来显示一些后面的叠加
时间自动再次但我可以看到我的代码中没有明显的错误
我希望它干净。
我错过了什么吗?它是Apple Bug吗?
初始化是这样的:
pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panRecognized:)];
[self addGestureRecognizer:pan];
[pan release];
处理函数如下所示:
- (void)panRecognized:(UIPanGestureRecognizer *)gestureRecognizer {
switch ([gestureRecognizer state]) {
case UIGestureRecognizerStateBegan:
// fade some overlaying views out
break;
case UIGestureRecognizerStateEnded:
case UIGestureRecognizerStateCancelled:
case UIGestureRecognizerStateFailed:
// fade in the overlays
break;
default:
break;
}
// handle panning
}
没有找到相关结果
已邀请:
1 个回复
蕉衫
。因此,如果视图是dealloc,它和手势识别器都将消失。 最好从
创建手势识别器。
还需要保持识别器的强大功能。