ios – UIPanGestureRecognizer和UITapGestureRecognizer同时出
发布时间:2020-12-14 17:21:27 所属栏目:百科 来源:网络整理
导读:这是我的小情况.我正在用uipanGesture移动一个ccsprite.我可以将它全部移动而不是问题,我在屏幕上有一个点,我可以用uitapgesture拍摄. -(void)handleTap:(UITapGestureRecognizer *)recognizer{CGPoint location = [recognizer locationInView:recognizer.vi
这是我的小情况.我正在用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进行射击时,我无法平移当我开火时…我认为它发生的原因是因为它正在注册最后一个点击 任何人都知道我可以点击的方式而不是将tap作为if注册(recognizer.state == UIGestureRecognizerStateBegan 我试过if(location.x< winSize.width / 2),但它没有用. 解决方法
您可能需要使用requireGestureRecognizerToFail设置手势识别器链.这将意味着正在执行的手势将被强制失败,优先于第二个手势.
所以我想你想要[requireGestureToFail:]. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |