拖动时有条件地删除UIImageView

时间:2013-07-18 12:31:10

标签: iphone ios objective-c uiimageview uitouch

我正在开发一款游戏,我允许用户在目标图像(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; }

有人能为我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以制作全局BOOL endDragging,当满足您的条件时,您只需return touchesMoved

它有效,我刚刚测试过,在满足条件后你将无法移动图像。

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
 if(endDragging)
  return;

 //do stuff

}