使用CAAnimation做动画时,如果要移除动画可以使用
- (void)removeAnimationForKey:(NSString *)key;
- (void)removeAllAnimations;
移除动画后,根据动画 fillmode 的设置,视图会静止在动画起点或者终点的位置,并且动画再次启动还是从起点开始.
如果想让它暂停在当前位置,继续动画时从当前位置开始继续动画,可以根据暂停动画的时间计算暂停位置,然后继续动画时重新制作新的动画.
//计算当前视图位置
-(void)resetViewWithPosition:(float)position
{
CGRect rect = self.animateView.frame;
if (self.isVertical)
{
rect.origin.y = position;
}
else
{
rect.origin.x = position;
}
self.animateView.frame = rect;
}
//暂停动画
- (void)nx_pauseAnimate
{
if (!_isStart || _isPause)
{
return;
}
_isPause =