对于拥有动态呈现效果的view来说,使用UIView(UIViewAnimationWithBlocks)的animateWithDuration系列方法完成回弹效果是最为简洁且增强用户体验的方式。
实现概要:
使用嵌套的Animation, 即将回弹分为两部分的动画,第二部分的动画在第一部分动画的completion中完成
实现细节:
将回弹效果分为两段动画:第一段为弹出效果,移动速度由慢到快,再由慢到快,使用选项 UIViewAnimationOptionCurveEaseInOut(UIAnimation默认选项),第二段为回弹的弹回效果,移动速度与第一段方法相反,移动速度由慢到快,最终停止,使用选项为UIViewAnimationOptionCurveEaseIn
代码示例
[UIView animateWithDuration: interval animations:^{ animate code; } completion: ^{
[UIView animateWithDuration: interval delay: delay options:UIViewAnimationOptionCurveEaseIn animation:^{ animation code } completion:nil]
}]