我有一个UIImageView
,目前正在从屏幕上的一个点动画到另一个点,然后无限回来。这是该动画的代码:
CGPoint startPoint = (CGPoint){self.view.frame.size.width/2, self.view.frame.size.height/2-(PIN_HEIGHT/2)-35};
CGPoint endPoint = (CGPoint){self.view.frame.size.width/2, self.view.frame.size.height/2-(PIN_HEIGHT/2)-20};
CGMutablePathRef thePath = CGPathCreateMutable();
CGPathMoveToPoint(thePath, NULL, startPoint.x, startPoint.y);
CGPathAddLineToPoint(thePath, NULL, endPoint.x, endPoint.y);
CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
animation.duration = 1.f;
animation.path = thePath;
animation.autoreverses = YES;
animation.repeatCount = INFINITY;
[userPin.layer addAnimation:animation forKey:@"position"];
现在,UIImageView
的这个动画在MKMapView
之上进行动画制作。我的问题出现了:我希望默认情况下动画发生,并且用户正在与地图进行交互。然而,当用户触摸地图并停止与其交互时,我希望动画停止,但是一旦用户再次移动地图就能够再次启动。
关于我如何做到这一点的任何想法?非常感谢!