2011-02-08 21 views

Respuesta

11

Puede usar la función CGRectIntersectsRect para probar fácilmente la intersección de rectángulo, siempre que UIImageViews comparta la misma supervista (más exactamente, tenga el mismo espacio de coordenadas).

probable es que tendrá que añadir un código como el siguiente:

-(void) touchesEnded:(NSSet *) touches { 
    if(CGRectIntersectsRect([imageViewA frame], [imageViewB frame])) { 
     NSLog(@"Do something."); 
    } 
    } 

a la UIView que aloja ambos puntos de vista de imagen, ni un método similar al que se llama cada vez que se completa el arrastre.

+0

Esto hizo el truco, muchas gracias! – John

+0

Si no comparten el mismo espacio de coordenadas: 'BOOL intersects = CGRectIntersectRect (viewA.bounds, [viewA convertRect: viewB.bounds fromView: viewB])' – nielsbot

0

Se puede utilizar:

CGRectIsNull (CGRectIntersection (view1.bounds, view2.bounds));

1

intente algo como esto.

if (CGRectContainsRect([myImageView1 frame], [myImageView2 frame])) { 
     NSLog(@"Overlaped, it's working!"); 
} 
0

En Swift 3.0 se ha convertido en ...

if (self.image2P.bounds.contains(self.image3P.bounds)) { 
    print("Overlaped, it's working!") 
} 
Cuestiones relacionadas