Ios 对象的变换和反转动画
我在viewDidLoad()中使用以下代码创建了一个简单的鱼动画[稍微修剪了一下]:Ios 对象的变换和反转动画,ios,swift,Ios,Swift,我在viewDidLoad()中使用以下代码创建了一个简单的鱼动画[稍微修剪了一下]: let path = UIBezierPath() path.moveToPoint(CGPoint(x: xStart,y: yStart)) //func addCurveToPoint(_ endPoint: CGPoint, controlPoint1 controlPoint1: CGPoint, controlPoint2 controlPoint2: CGPoint)
let path = UIBezierPath()
path.moveToPoint(CGPoint(x: xStart,y: yStart))
//func addCurveToPoint(_ endPoint: CGPoint, controlPoint1 controlPoint1: CGPoint, controlPoint2 controlPoint2: CGPoint)
path.addCurveToPoint(CGPoint(x: xEnd, y: 239), controlPoint1: CGPoint(x: 136, y: 373), controlPoint2: CGPoint(x: 200, y: 110))
// create a new CAKeyframeAnimation that animates the objects position
let anim = CAKeyframeAnimation(keyPath: "position")
// set the animations path to our bezier curve
anim.path = path.CGPath
anim.rotationMode = kCAAnimationRotateAuto
anim.repeatCount = Float.infinity
anim.duration = 5.0
imageView.layer.addAnimation(anim, forKey: "Go fishy!")
我现在的挑战是试图让鱼从屏幕的另一边游回来
本质上,游回同一条路径,但将鱼从右向左旋转(而不是从左向右,或沿y轴翻转)
解决这个问题的最佳方法是什么?我应该有两条鱼,一条朝着一条方向,另一条朝着另一条方向吗?如果是这样的话,我将如何延迟这两条鱼?我愿意接受更好的解决方案。您可以在
x
轴上将鱼缩放到-1,然后以另一种方式运行动画。@EmilioPelaez因为我是swift的n00b,所以我尝试使用UIView.animatewithduration,在完成时它会进行转换,但失败了。我现在在“动画”中使用这种方法,但我不知道如何触发完成点并使用动画进行转换。