我正在开发一款游戏,我允许用户在目标图像(UIImageView)上拖放图像(UIImageView),我正在使用TouchesEnded中的(CGRectIntersectsRect)实现这一目标。
现在我需要在(TouchesMoved)中做同样的事情,我已经有条件地检查了两个图像(CGRectIntersectsRect),如果是真的我使两个图像帧相等并且禁止用户与该图像的交互,它指示但是图像仍然是draggable until(TouchesEnded)叫。
我正在使用下面列出的代码来结束拖动(TouchesMoved):
if([self distanceBetweenPoint:fruit1.center andPoint:fruit1b.center]<=45)
{
fruit1.frame = fruit1b.frame;
fruit1.userInteractionEnabled = FALSE;
}
有人能为我解决这个问题吗?
答案 0 :(得分:0)
您可以制作全局BOOL endDragging
,当满足您的条件时,您只需return
touchesMoved
。
它有效,我刚刚测试过,在满足条件后你将无法移动图像。
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
if(endDragging)
return;
//do stuff
}