Tengo varios UIImageViews
dentro de un UIScrollView
que quiero mover cuando el usuario pulsa uno de ellos. Es similar al comportamiento que obtienes cuando presiona prolongadamente un icono en el menú de su iPad/iPhone.Cómo detener una animación de UIView
Así que tienen la siguiente:
- (void)startWiggling {
for (UIImageView *touchView in [scrollView subviews]) {
[UIView beginAnimations:@"wiggle" context:nil];
[UIView setAnimationDuration:0.1];
[UIView setAnimationRepeatAutoreverses:YES];
[UIView setAnimationRepeatCount:FLT_MAX];
//wiggle 1 degree both sides
touchView.transform = CGAffineTransformMakeRotation();
touchView.transform = CGAffineTransformMakeRotation(-0.0174532925);
[UIView commitAnimations];
}
}
- (void)stopWiggling {
NSLog(@"Stop wiggling");
}
Esto funciona bien. El problema es ... ¿Cómo puedo hacerlo detener menear después de que el usuario haya presionado un botón? Tengo un botón y lo conecté, etc., y está llegando al método stopWiggling
, así que está bien. Pero entonces ...
- ¿Cómo se quita la animación UIView de éstos
UIImageViews
? - ¿Puedo vincular esta acción al usuario presionando el botón de inicio en su dispositivo?
No estoy seguro de cómo responder a la primera poco, pero presionando el botón de inicio hará que la terminación de la aplicación a la pantalla principal. No hay forma de vincular esa clave porque está en el Sistema –
@Suhail Patel, lo sé, pero pensé que podría haber una manera de anular el método 'applicationDidEnterBackground' y comprobar si las imágenes se mueven o no. Y si es así, detenga el movimiento y cancele la aplicación para que no entre en el modo de fondo. Pero no sé si es posible. – Jules
No puede evitar que pase al fondo, pero puede detener el movimiento en ese método. No te da una opción ... –