ios – UIPanGestureRecognizer和UITapGestureRecognizer同时出现

前端之家收集整理的这篇文章主要介绍了ios – UIPanGestureRecognizer和UITapGestureRecognizer同时出现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_2@
这是我的小情况.我正在用uipanGesture移动一个ccsprite.我可以将它全部移动而不是问题,我在屏幕上有一个点,我可以用uitapgesture拍摄.

-(void)handleTap:(UITapGestureRecognizer *)recognizer{

CGPoint location = [recognizer locationInView:recognizer.view];
location = [[CCDirector sharedDirector]convertToGL:location];
location = [self convertToNodeSpace:location];

if (location.x > winSize.width * .6 && location.y <winSize.height/2) {
  NSLog(@"fire");  
}

添加了委托方法,所以当我平移时,我可以点击开启按钮:一切正常.

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

但是当我没有平移并且只是使用uitapgesture进行射击时,我无法平移当我开火时…我认为它发生的原因是因为它正在注册最后一个点击
Recognizer.state == UIGestureRecognizerStateBegan,因为我没有平移.

任何人都知道我可以点击的方式而不是将tap作为if注册(recognizer.state == UIGestureRecognizerStateBegan

我试过if(location.x< winSize.width / 2),但它没有用.

解决方法

您可能需要使用requireGestureRecognizerToFail设置手势识别器链.这将意味着正在执行的手势将被强制失败,优先于第二个手势.

所以我想你想要[requireGestureToFail:].

@H_502_2@

猜你在找的Xcode相关文章