Ich versuche, eine Fortschrittsanzeige für einen Musik-Player zu erstellen. Ich bin total neu im Programmieren und habe jetzt wirklich eine Sackgasse erreicht.StrokeEnd nicht Zeichnen von Vollkreis
Mein Fortschritt funktioniert gut. Ich animiere "strokeEnd" mit dem Wert (Wert/Dauer) des Mediadatei, aber strokeEnd erreicht immer nur have des Kreises. Allerdings ist das Lied dann auch fertig, deshalb denke ich, irgendwo berechnet es sich falsch.
Es ist ein sehr einfacher Shaplayer, den ich benutze.
var value: CGFloat = 0.0{
didSet {
redrawStrokeEnd() }
}
private func setupShapeLayer(shapeLayer: CAShapeLayer) {
let startAngle = CGFloat(M_PI_2)
let endAngle = CGFloat(M_PI_2 * 2 + M_PI_2)
progressLayer.path = UIBezierPath(arcCenter:centerPoint, radius: CGRectGetWidth(frame)/2 + 5, startAngle:startAngle, endAngle: endAngle, clockwise: true).CGPath
progressLayer.strokeStart = 0.0
progressLayer.strokeEnd = 0.0 }
func redrawStrokeEnd() {
progressLayer.strokeEnd = CGFloat(value/CGFloat(duration))}
Wert = currentTime und Dauer = Playbackduration. Ich kann nicht herausfinden, warum Strich End nicht den vollen Kreis bewegt.
Startwinkel in Radianten 0 und der Endwinkel 2 * pi – Desdenova
Vielen Dank, seit Tagen damit zu kämpfen. Ich muss noch viel lernen. Alle Lösungen funktionieren gut. Danke noch einmal. – cmag0505