2011-07-02 19 views

回答

1

創建,增加了20像素框架您的圖像1的框架的每一側:

CGRect image1Frame = image1.frame; 
CGRect collisionFrame = CGRectMake(image1Frame.origin.x-20.0, image1Frame.origin.y-20.0, image1Frame.size.width+20.0, image1Frame.size.height+20.0); 

然後,只需檢查圖像2的框架與collisionFrame碰撞:

CGRectIntersectsRect(image2.frame, collisionFrame); 
2

除非您的應用程序中的內容移動它,否則圖片2無法移動。找到代碼中,你移動圖像2的地方,然後執行以下操作之一,或者類似的東西:圖像1

  1. 計算距離,如果小於20個像素採取適當的行動。
  2. 發送消息給關注圖像1和圖像2之間距離的物體。
  3. 發送通知,通知任何關注圖像2移動的物體。
  4. 設置一個標誌,指出圖像2已移動,並確保應用程序的其他部分定期檢查標誌並執行正確的操作。
1

你可以嘗試與圖片+ 21個像素的電流大小創建的CGRect,創建其他圖像的的CGRect,然後使用:

CGRectIntersectsRect(CGRect1, CGRect2)