UIKit animation is "set it and forget it" mostly. However, if you are doing something where you go some place, and then take it back to where you started... that's going to require two animation blocks because you can't simply say "go from point 0,0 to point 0,0 through point 20,20" You have to say "go to point 20,20 and when you are done, go to point 0,0". Example:
#import <CoreGraphics/CoreGraphics.h>
#define degreesToRadians(x) (M_PI * x / 180.0)
// ...
[UIView animateWithDuration:.25 animations:^{
CGAffineTransform t = CGAffineTransformIdentity;
CGAffineTransformScale(t, 2.0, 2.0);
CGAffineTransformRotate(t, degreesToRadians(45));
myview.transform = t;
} completion:^(BOOL finished){
NSLog(@"step 1 done");
[UIView animateWithDuration:.25 animations:^{
myview.transform = CGAffineTransformIdentity;
} completion:^(BOOL finished) {
NSLog(@"step 2 done");
}];
}];