2016-06-02 2 views
0

Один мой основной вид, анимация выполняется в соответствии с установленной задержкой и длительностью. Однако, когда я перехожу к новому виду, анимации полностью завершены мгновенно. Как это? Это происходит только тогда, когда эта анимация велено выполнить из кода в viewDidLoad()(быстрый) Анимации в новом виде происходят мгновенно

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") 
     } 
    } 

} 

ответ

1

viewDidLoad происходит до того, как вид представлен на экране, если вы хотите, чтобы запустить анимацию, вы должны, вероятно, запускать их в viewDidAppear, так что вид загружается на экран, и компоненты видны.

0

вызов setProgress() в viewDiDAppear

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

Может быть, вы можете добавить задержку и сохранить это работает на таймере после viewdidload случае контроллера. Поэтому вы можете достичь своей цели и запустить анимацию в нужное время.