私のviewController内のimageViewを "脈動"させたい場合は、もう一度大きくしてから、 "開始"ボタンが押されるまで繰り返すことを意味します。問題は、repeat-while-loopでviewDidLoad()でその関数を呼び出すたびに、何らかの理由でブレークポイントがあることです。 viewDidLoad私(の一部だwhileループを繰り返さない - なぜですか?
):私は、スタートボタンを押すと
repeat {
pulsate()
} while hasStarted == false
、hasStartedは真となり、脈動停止する必要があります。しかし、それは機能を開始しない、それはすぐにエラーを呼び出します。問題はどこですか?機能
func pulsate()
{
frameOR = imageView.frame
frameNext = CGRect(x: imageView.frame.midX - 35, y: imageView.frame.midY - 35, width: 80, height: 80)
let frameVDL = CGRect(x: imageView.frame.midX - 150, y: imageView.frame.midY - 150, width: 300, height: 300)
if start == false
{
UIView.animate(withDuration: 2, animations: {
self.imageView.frame = frameVDL
}) { (finished) in
UIView.animate(withDuration: 2, animations: {
self.imageView.frame = self.frameOR
}, completion: nil)
}
}
}
あなたの助けのためにあなたに感謝 -
は、ここに私の脈動()です!すてきな一日を!
エラーは何ですか? –
メインスレッドをブロックしています。プログラム制御がメインイベントループに戻る前に、ボタン(または他の)UIアクションメソッドは実行されません。 –