[UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:ANIMATIONDURATIONINSECONDS]; [UIView setAnimationDelegate:self]; [UIView setAnimationDidStopSelector:@selector(yourAnimationHasFinished:finished:context:)]; // Change property or properties here [UIView commitAnimations]; - (void)yourAnimationHasFinished:(NSString *)animationID finished:(BOOL)finished context:(void *)context; [animation setValue:"firstAnimation" forKey:@"name"]; - (void)animationDidStop:(CAAnimation*)animation finished:(BOOL)finished { if([[animation valueForKey:@"name"] isEqual:@"firstAnimation"] && finished) { ... } }