2017-06-25 8 views
0

何らかの理由でボタンをクリックしただけで何も起こらず、アプリ全体がシャットダウンします。誰にも何か提案はありますか?彼らは非常に高く評価されるだろう。アニメーションを一定の回数繰り返すにはどうすればいいですか?

var start = 1 
var timer = Timer() 

func test() { 
    start += 1 
} 

@IBAction func start(_ sender: Any) { 
    timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(TestViewController.test), userInfo: nil, repeats: true) 

    while start <= 10 { 
     UIView.animate(withDuration: 0.1, delay: 0, options: [.repeat, .autoreverse], animations: { 
      self.buttonLabel.center = CGPoint(x:self.buttonLabel.center.x + 10, y:self.buttonLabel.center.y) 
    }, completion: nil) 
    } 
} 
+1

を試してみてください、あなたのアプリがクラッシュしているような音。完全なエラーメッセージを含むクラッシュについての詳細を提供し、クラッシュを引き起こす正確な行を指摘してください。 – rmaddy

答えて

1

アニメーションを繰り返すより良い方法があり、UIView.setAnimationRepeatCount()

@IBAction func start(_ sender: Any) { 
    UIView.animate(withDuration: 0.1, delay: 0, options: [.repeat], animations: { 
     UIView.setAnimationRepeatCount(10) 
     self.buttonLabel.center = CGPoint(x:self.buttonLabel.center.x + 10, y:self.buttonLabel.center.y) 
    }, completion: nil) 
} 
+0

ありがとうございました –

+0

あなたは大歓迎です。さらに、アプリがクラッシュする理由を検出するために(そしてあなたのアプリがクラッシュしたと思われる質問から)、例外ブレークポイントを追加して、それが原因のコード行を調べることができます。これを行うには、Breakpoint Navigator(左メニュー、画面の最上部)に行き、このメニューの下部にある "+"ボタンを押して "Exception Breakpoint"を選択します。これにより、デバッグがはるかに簡単になります。乾杯! –

関連する問題