2016-06-02 4 views
0

Eine meiner primären Ansichten, Animationen werden entsprechend der Verzögerung und Dauer ausgeführt. Wenn ich jedoch zu einer neuen Ansicht übergehe, sind die Animationen sofort vollständig. Wie ist das? Dies geschieht nur, wenn diese Animationen von Code in der viewDidLoad auszuführen gesagt()(swift) Animationen in neuer Ansicht passieren sofort

override func viewDidLoad() { 
    super.viewDidLoad() 
    setProgress() 
} 

// the function below annimates a circular progress view 

func setProgress() { 
    var to:Double = ((360.0/4) * increment) 
    progressCircle.animateFromAngle(360.0, toAngle: to, duration: 5) { completed in 
     if completed { 
      print("animation stopped, completed") 
     } else { 
      print("animation stopped, was interrupted") 
     } 
    } 

} 

Antwort

1

viewDidLoad auftritt, bevor die Ansicht auf dem Bildschirm dargestellt wird, wenn Sie Animationen ausführen möchten, sollten Sie sie wahrscheinlich in viewDidAppear so dass die Sicht laufen wird auf dem Bildschirm geladen und die Komponenten sind sichtbar.

0

Anruf setProgress() in ViewDidAppear

override public func viewDidAppear(animated: Bool) { 
     super.viewDidAppear(animated) 
     setProgress() 
} 
0

Vielleicht können Sie Verzögerung hinzufügen, und halten Sie sie auf einem Timer nach viewDidLoad Fall-Controller ausgeführt wird. Daher können Sie Ihr Ziel erreichen und die Animationen in der von Ihnen gewünschten Zeit ausführen.

Verwandte Themen