Tengo dos UIImageViews, una de ellas se mueve de izquierda a derecha, la otra es táctil arrastrable. Quiero que NSLog muestre un mensaje en la consola cada vez que image dos se solape con imageone. ¿Cómo hago esto?¿Cómo puedo detectar cada vez que se superponen dos UIImageView?
5
A
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
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
- 1. ¿cómo puedo comprobar que dos sectores de matrices numpy son iguales (o se superponen)?
- 2. Prevenir dos polilíneas de google maps que se superponen
- 3. ¿Cómo se puede saber si dos comodines se superponen?
- 4. Comprueba si se superponen dos veces
- 5. ¿Cómo se puede detectar si dos expresiones regulares se superponen en las cadenas con las que pueden coincidir?
- 6. ¿Cómo puedo verificar si dos controles se superponen en un lienzo en WPF?
- 7. Cómo determinar si dos sectores circulares se superponen entre sí
- 8. ¿Cómo se pueden usar las etiquetas de mapa para dos imágenes que se superponen?
- 9. cómo puedo detectar el evento táctil de un UIImageView
- 10. ¿Cómo puedo crear una UILocalNotification que notifique cada dos minutos?
- 11. método IOS canAuthenticateAgainstProtectionSpace no se llama cada vez que
- 12. Cómo configurar que el WCF Test Client se ejecutará cada vez que se ejecuta el servicio
- 13. ¿Canvas se vuelve a dibujar cada vez que cambia algo?
- 14. versión de actualización cada vez que se hace git push?
- 15. ¿Se calcula javascript str.length cada vez que se llama o solo una vez?
- 16. Android en Eclipse se bloquea cada vez que abro main.xml
- 17. Pérdida de memoria cada vez que se lanza UIScrollView
- 18. glVertexAttribPointer necesario cada vez que se llama glBindBuffer?
- 19. UIScrollView llama a layoutSubviews() cada vez que se desplaza
- 20. Cron trabajo creando archivo vacío cada vez que se ejecuta
- 21. Los contadores se inicializan cada vez?
- 22. crea un UIImage de dos UIImageView
- 23. ¿Cómo puedo hacer que TMUX esté activo cada vez que inicio una nueva sesión de shell?
- 24. ¿cómo puedo detectar tarjetas de crédito electrónico por única vez?
- 25. Google map API v3 marcadores que se superponen
- 26. matplotlib xticks etiquetas se superponen
- 27. ¿Cómo puedo voltear un UIImageView?
- 28. ¿Cómo puedo informar a sqlalchemy que genere un error cada vez que MySQL arroje una advertencia?
- 29. Obtener dos elementos de una secuencia cada vez
- 30. ¿Se ha calculado [hash NSString] cada vez?
Esto hizo el truco, muchas gracias! – John
Si no comparten el mismo espacio de coordenadas: 'BOOL intersects = CGRectIntersectRect (viewA.bounds, [viewA convertRect: viewB.bounds fromView: viewB])' – nielsbot