2013-07-18 51 views
-1

我正在一個遊戲中,我允許用戶在目標圖像(UIImageView)上拖放圖像(UIImageView),並且我正在使用TouchesEnded中的(CGRectIntersectsRect)來實現此目的。有條件地拖放UIImageView而拖動

現在我需要在(TouchesMoved)中做同樣的事情,我已經檢查(CGRectIntersectsRect)有條件地爲兩個圖像,如果真的我使兩個圖像幀相等,並禁用用戶與該圖像的交互,它表明,但圖像是仍然可以拖動(TouchesEnded)。

我使用下列代碼結束在拖(TouchesMoved):

if([self distanceBetweenPoint:fruit1.center andPoint:fruit1b.center]<=45) { fruit1.frame = fruit1b.frame; fruit1.userInteractionEnabled = FALSE; }

誰能給我這個問題的解決方案一個?

回答

0

您可以製作全球BOOL endDragging,當您的條件得到滿足時,您只需returntouchesMoved

它的工作原理,我只是測試它,你將無法在條件滿足後移動圖像。

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

//do stuff 

} 
+0

好..這解決了我的問題。 –