2016-10-11 1 views
0

Ich brauche die Hilfe, die ich habe diesen Code das macht kreisförmigen Weg, aber was ich brauche, ist gerade Linie Ich habe versucht, dies zu tun, aber nicht erfolgreich.Geraden Weg in swift

override func viewDidAppear(animated: Bool) { 



    super.viewDidAppear(animated) 

    let orbit = CAKeyframeAnimation(keyPath: "position") 
    var affineTransform = CGAffineTransformMakeRotation(0.0) 
    affineTransform = CGAffineTransformRotate(affineTransform, CGFloat(M_PI)) 
    let circlePath = UIBezierPath(arcCenter: CGPoint(x: 150 - (100/2),y: 150 - (100/2)), radius: CGFloat(150), startAngle: CGFloat(0), endAngle:CGFloat(M_PI * 2), clockwise: true) 

    orbit.circlePath = path.CGPath 
    orbit.duration = 8 
    orbit.additive = true 
    orbit.repeatCount = 0.25 
    orbit.calculationMode = kCAAnimationPaced 
    orbit.rotationMode = kCAAnimationRotateAuto 

    moveobj.layer .addAnimation(orbit, forKey: "orbit") 
} 

und mehr eine Frage, wie dies nach dem fertigen zu verschwinden verschwinden.

Dank

Antwort

0

Sie können dies einfach tun, um eine CAShapeLayer verwenden.

let line = CAShapeLayer() 
    let linePath = UIBezierPath() 
    linePath.move(to: CGPoint(x: 100, y: 100)) 
    linePath.addLine(to: CGPoint(x: 300, y: 300)) 
    line.path = linePath.cgPath 
    line.strokeColor = UIColor.red.cgColor 
    self.view.layer.addSublayer(line) 

Erstellen Sie zunächst einen CAShapeLayer. Zweitens erstellen Sie einen UIBezierPath, um den Pfad Ihrer Linie zu definieren. Drittens, verschieben Sie den Bezier-Pfad zu einem Startpunkt. Viertens, fügen Sie den Endpunkt des Bezier-Pfades hinzu. Fünftens, wenden Sie den Bezier-Pfad auf den CAShapeLayer an. Sechstens, wenden Sie eine Strichfarbe an, damit Sie die Linie sehen können, wenn Sie sie als Unterebene hinzufügen. Schließlich fügen Sie es eine Unterschicht der Ansicht hinzu.

+0

wo stelle ich das? und ich was nicht, eine gerade Linie zu zeichnen, ich möchte Objekt in gerader Linie bewegen kann yo mir helfen, pls. Danke – dinis

+0

schon gelöst danke – dinis

Verwandte Themen