2011-04-11 60 views

回答

9

您可以通过对这些图像视图进行rect来检测两个图像之间的碰撞。

考虑我的图像视图被命名为:img_view1img_view2

图片的视图的创建:

//For img_view1 rect 
//parameters are x,y,width,height 
CGRect image_rect1 = CGRectMake(img_view1.position.x,img_view1.position.y,100,100); 

//For img_view2 rect 
//parameters are x,y,width,height 
CGRect image_rect2 = CGRectMake(img_view2.position.x,img_view2.position.y,100,100); 

碰撞检测:

if(CGRectIntersectsRect(image_rect1, image_rect2)) 
{ 
    NSLog(@"Rect is Intersecting"); 
} 
7

尼斯的answere @Anish,但是你并不真正需要创建的意见,你可以简单地使用新CGRect他们各自的frame属性。

如果你想要把这种逻辑在方法中是这样的:

-(BOOL)viewsDoCollide:(UIView *)view1 :(UIView *)view2{ 
    if(CGRectIntersectsRect(view1.frame, view2.frame)) 
    { 
     return YES; 
    } 
    return NO; 
} 

只需通过你要测试到这种方法的两种观点,并检查输出结果。