I have many icons in my app and I would like to animate them in a manner similar to what happens when you try to delete applications from the iPhone's home screen. How can you do this?
Additionally, is there a way to have the icons animate up onto the screen in a manner similar to what happens when you unlock the iPhone?
If you want to make your views, images, etc. wobble, like the home screen, you could do something like this:
CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-15.0));
CGAffineTransform rightWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(15.0));
view.transform = leftWobble; // starting point
[UIView beginAnimations:@"wobble" context:view];
[UIView setAnimationRepeatAutoreverses:YES];
[UIView setAnimationRepeatCount:5]; // adjustable
[UIView setAnimationDuration:0.125];
[UIView setAnimationDelegate:self];
view.transform = rightWobble; // end here & auto-reverse
[UIView commitAnimations];
You would also need to add this define:
#define RADIANS(degrees) ((degrees * M_PI) / 180.0)
with blocks (iOS 4+) it would look like:
#define RADIANS(degrees) ((degrees * M_PI) / 180.0)
CGAffineTransform leftWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(-2.0));
CGAffineTransform rightWobble = CGAffineTransformRotate(CGAffineTransformIdentity, RADIANS(2.0));
cell.transform = leftWobble; // starting point
cell.deleteButton.hidden = NO;
[UIView animateWithDuration:0.125 delay:0 options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse) animations:^{
cell.transform = rightWobble;
}completion:^(BOOL finished){
}];
If you mean icons in the main screen of iOS, I don't think it would be ever possible.
Of course, if you mean icons inside your application, you can do whatever you want.