Zeichnung eines Kreises animieren

Ich bin auf der Suche nach einer Möglichkeit zum animieren der Zeichnung eines Kreises. Ich war in der Lage, erstellen Sie den Kreis, aber es zieht alles zusammen.

Hier ist mein CircleView Klasse:

import UIKit

class CircleView: UIView {
  override init(frame: CGRect) {
    super.init(frame: frame)
    self.backgroundColor = UIColor.clearColor()
  }

  required init(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
  }


  override func drawRect(rect: CGRect) {
    //Get the Graphics Context
    var context = UIGraphicsGetCurrentContext();

    //Set the circle outerline-width
    CGContextSetLineWidth(context, 5.0);

    //Set the circle outerline-colour
    UIColor.redColor().set()

    //Create Circle
    CGContextAddArc(context, (frame.size.width)/2, frame.size.height/2, (frame.size.width - 10)/2, 0.0, CGFloat(M_PI * 2.0), 1)

    //Draw
    CGContextStrokePath(context);
  }
}

Und hier ist, wie ich es in der view-Hierarchie, die in meinem view-controller:

func addCircleView() {
    let diceRoll = CGFloat(Int(arc4random_uniform(7))*50)
    var circleWidth = CGFloat(200)
    var circleHeight = circleWidth
    //Create a new CircleView
    var circleView = CircleView(frame: CGRectMake(diceRoll, 0, circleWidth, circleHeight))

    view.addSubview(circleView)
}

Gibt es eine Möglichkeit zum animieren der Zeichnung des Kreises über 1 Sekunde?

Beispiel, Teil Weise durch die animation würde es Aussehen wie die Blaue Linie in diesem Bild:

Zeichnung eines Kreises animieren

InformationsquelleAutor der Frage Roi Mulia | 2014-10-26

Schreibe einen Kommentar