Swift: Bewegt UIImage teilweise entlang des Pfades

Ich benutze diesen Code, um ein UIImage entlang einer Kurve zu bewegen:

    // paint curve for sun
    let path = UIBezierPath()

    let imageSunName = "small_sun.png"
    let imageSun = UIImage(named: imageSunName)
    let imageView = UIImageView(image: imageSun!)

    imageView.frame = CGRect(x: xStart, y: yStart, width: 24, height: 24)
    self.view.addSubview(imageView)

    path.moveToPoint(CGPoint(x: xStart,y: yStart))

    path.addQuadCurveToPoint(CGPoint(x: xEnd, y: yEnd), controlPoint: CGPoint(x: xMiddleTop, y: yMiddleTop))

    let animation = CAKeyframeAnimation(keyPath: "position")
    animation.path = path.CGPath

    animation.repeatCount = 0
    animation.duration = 5.0

    imageView.layer.addAnimation(animation, forKey: "animate position along path")

Dennoch bleiben zwei Probleme:

Ich möchte das Bild nur teilweise entlang des Pfades verschieben (entsprechend der aktuellen Zeit vs Sonnenaufgang / Sonnenuntergang) - wie geht das?Das Bild springt nach dem Anhalten der Animation an seine Ursprungsposition. Wie kann ich dies vermeiden?

Pros

Antworten auf die Frage(4)

Ihre Antwort auf die Frage