Estoy intentando arrastrar una imagen y dejarla volver a su posición original después de soltarla. Hasta el momento, puedo arrastrar una imagen mediante la creación como un botón mediante el siguiente código: (como se ve en la respuesta a esta pregunta: Basic Drag and Drop in iOS)Arrastrar y soltar objetos y devolverlos a su posición original
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(imageTouch:withEvent:) forControlEvents:UIControlEventTouchDown];
[button addTarget:self action:@selector(imageMoved:withEvent:) forControlEvents:UIControlEventTouchDragInside];
[button setImage:[UIImage imageNamed:@"vehicle.png"] forState:UIControlStateNormal];
[self.view addSubview:button];
Y después me defino:
- (IBAction) imageMoved:(id) sender withEvent:(UIEvent *) event
{
CGPoint point = [[[event allTouches] anyObject] locationInView:self.view];
UIControl *control = sender;
control.center = point;
}
¿Cómo puedo hacer que regrese a su posición original después de soltarlo? Para empezar, guardaré la posición en la que se supone que debe regresar cada imagen, pero luego, de todos modos, hay que indicar un UIImage para ir desde su posición actual y pasar a ¿otro ?, ¿o alguna otra solución alternativa?
Gracias. Pero eso movería el UIButton a una nueva posición al instante, ¿no?Si es así, es posible indicarle a UIButton que se mueva de su posición actual a la nueva una vez que se llame al selector de UIControlEventTouchUpInside. –
Lea los documentos para "animación" –