Swift 3を使用して、いくつかのUILabelsを右から左に「滑らせる」アニメーションを作成しています。 ラベルの長さはさまざまです。curveEaseInOutまたはKeyframesを使用してSwiftでアニメーションの速度を制御するにはどうすればよいですか?
私は、スピードを長さに関係なく同じになるようにしようとしています。
私はこのコードを使用していますが、カーブの長さと性質に基づいて各ラベルの長さを変更することができるため、視覚効果が実際には得られません。
UIView.animate(withDuration: 5.0, delay: 5.0, usingSpringWithDamping: 0.9, initialSpringVelocity: 0.0, options: [.curveEaseInOut,.repeat], animations: {
self.Label_1.frame.origin.x = -self.Label_1.frame.width
}, completion: nil)
UIView.animate(withDuration: 10.0, delay: 5.0, usingSpringWithDamping: 0.9, initialSpringVelocity: 0.0, options: [.curveEaseInOut,.repeat], animations: {
self.Label_2.frame.origin.x = -self.Label_2.frame.width
}, completion: nil)
アニメーションは、中点が遅くなるまでスピードアップします。 curveEaseInOutモーションカーブは「緩和」の間に一定の速度の期間を占めていないように見えます。私が描いたこのひどいグラフィックは役立つはず:
1)曲線の見かけの視覚的な性質を示す - )やすインと 2に対し、その間の任意の一定速度のない緩和アウトの移行を私が達成しようとしていることを示しています。
2)との間で、イージーイン、イージーアウト、および一定速度の間の時間の長さを指定することができました。
私は後にどのような効果を得ることができますか?
これを行うには、KeyFramedアニメーションを使用する必要があると思います。 –
@ReinierMelian - おかげさまでキーフレームを試してみます – wayneh