您可以使用许多选项来实现您所追求的效果。想到的一个是计时器的使用。
使用 NSTimer,其触发间隔为动画的一半,并让计时器触发另一个动画。只要两个动画互不干扰,应该没问题。
一个例子是这样的:
NSTimer* timer;
// Modify to your uses if so required (i.e. repeating, more than 2 animations etc...)
timer = [NSTimer scheduledTimerWithTimeInterval:animationTime/2 target:self selector:@selector(runAnimation) userInfo:nil repeats:NO];
[UIView animateWithDuration:animationTime animations:^{
imageView.frame = newImageRectPosition;
} completion:nil];
- (void)runAnimation
{
// 2nd animation required
[UIView animateWithDuration:animationTime animations:^{
imageView.frame = newImageRectPosition;
} completion:nil];
}
使用计时器,如果您需要制作两个以上的动画,这可以扩大,如果您稍后需要更改动画时间,这一切都会保持在一起。