ボタンが機能する前に、ユーザーが選択を行う必要があるビューがあります。これをより明確にするために、(グレー表示された) ボタンが最初に押された場合に、実行する必要がある選択を表す要素を点滅させたいと考えています。つまり、これがその状態のエラーであることを示し、ユーザーの注意をユーザーが最初に使用する必要がある UI 要素に導く必要があります。
要素(self.display以下のコード内)をすばやく2回点滅させようとする私の現在の試みは次のとおりです。
@IBAction func inactiveButtonClick() {
let period = 0.16
UIView.animate(withDuration: period/2, delay: 0.0, options: [.curveEaseInOut, .autoreverse, .repeat], animations: {
self.display.alpha = 0
}, completion: { _ -> Void in
self.display.alpha = 1
})
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + period*2, execute: {
self.display.layer.removeAllAnimations()
})
}
これは非常にうまく機能しますが、100% 正しいとは感じられず、アニメーションが終了する前に数分の一秒で途切れることがあります。2 つのアニメーションをキューに入れることができると思いますが、これを達成するためのより簡単な方法があるのではないかと思います。エラーを示すためにUI要素を点滅させる組み込みの方法はありますか? そうでない場合、これをユーザーに伝える曲線と周波数の「既知の適切な」組み合わせはありますか?