2016-05-10 12 views
1

Swiftでテキストラベル(ラベル)をアニメートしようとしていますが、動作しません。エラーはありません。私はチュートリアルに従っているので、それが機能していないが、任意の助けをいただければ幸いですなぜswiftでテキストラベルをアニメ化する

label.text = savedText 
    label.center = CGPoint(x:50, y:10) 

    UIView.animateWithDuration(1.0, delay: 1.0, usingSpringWithDamping: 0.9, initialSpringVelocity: 0.0, options: .CurveLinear, animations: {() -> Void in 
     self.label.center = CGPoint(x:100, y:70) 
     }, completion: nil) 

本当にわからない:ここで私はのviewDidLoadで持っているコードです!

+0

チュートリアルへのリンクを共有できますか? – anakin

+0

代わりに 'viewDidAppear'でアニメーションをやってみることができますか? – ozgur

+0

label.centerの代わりにlabel.frameを使用してみてください –

答えて

3

あなたのビューが表示される前にviewDidLoadが呼び出されているので、アニメーションが即座に発生するという問題があると思います。あなたのコードにこれを追加すること

試してみてください。

override func viewDidAppear(animated: Bool) { 
    if label.center != CGPoint(x:50, y:10) { 
     UIView.animateWithDuration(1.0, delay: 0.0, usingSpringWithDamping: 0.9, initialSpringVelocity: 0.0, options: .CurveLinear, animations: {() -> Void in 
      self.label.center = CGPoint(x:100, y:70) 
     }, completion: nil) 
    } 
} 

if文ではなく、唯一それを(のViewControllerが最初にロードされている)を初めてやって、ビューが画面に表示されるたびにアニメーションからラベルを防ぎます。あなたが毎回それを削除するたびに発生したい場合。

p.s.私はそれがバグの発生を止めようとしていると思ったので、遅れも取り除いた(チュートリアルで)

+0

移動しました!ありがとうございます – Bailey

+0

問題ありません!私が助けることができてうれしい:) –

+0

ちょっと、これはあなたが正しい答えとしてそれをマークし、それを投票する気になりますか?私はポイントを得る:) –

関連する問題