2016-06-02 6 views
0

私の一次ビューであるアニメーションは、遅延と持続時間の設定に従って実行されます。しかし、私が新しい視点に立ち向かうと、アニメーションはすべて即座に完了します。これはどのように?ビューが画面上に提示される前に、これは、このアニメーションは(swift)新しいビューでのアニメーションは即座に発生します

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)(のviewDidLoad内のコードから実行するように言われたときにのみ発生しますが、アニメーションを実行したい場合は、おそらくビューようviewDidAppearでそれらを実行する必要があり、発生しました画面にロードされ、コンポーネントが表示されます。 viewDiDAppear

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

コールでsetProgress()たぶん、あなたは、遅延を追加し、コントローラののviewDidLoadイベントの後、タイマーで実行されている、それを維持することができます。したがって、あなたはあなたの目標に到達し、あなたが望む時間にアニメーションを実行することができます。

0

関連する問題