Estamos agregando funcionalidad de arrastrar y soltar a lo que se convertirá en un campo de deportes con posiciones para los jugadores.iOS - Arrastrar y soltar la detección de colisiones ¿Cómo detectar cuando el elemento seleccionado se arrastra sobre otra subvista?
Las posiciones se trazan utilizando el Creador de interfaces con cada una de ellas como UIImageView por separado.
Queremos ser capaces de arrastrar las imágenes de los jugadores desde las posiciones de banco desde el lateral de la pantalla a las posiciones en el campo.
¿Cuál es la mejor manera de detectar cuándo el jugador seleccionado que se está moviendo colisiona con un juego existente imageView?
Estamos buscando una manera de detectar si hay una vista o ImageView en la ubicación actual.
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
tile1.center = location;
if gamePositionExistsAtCurrentLocation(location) { //want something like this
[tile1 setBackgroundColor:[UIColor blueColor]];
} else {
[tile1 setBackgroundColor:[UIColor yellowColor]];
}
}
Así que la idea es que cada vez que me muevo corro por una matriz de objetos y ver si coinciden con mi ubicación actual (pero usando marco en lugar como usted menciona)? – Evolve
¿Hay algún método proporcionado por Apple que pueda usar para informarme qué subvistas actualmente se cruzan con un punto específico? – Evolve