0
viewController用のスターウォーズスタイルのスクロールテキストを作成しようとしています。SWIFT:アニメーションがスピードを変更します。私は望ましくありません。
私は次のコードを持っている:それは1つの事を除いて完璧に動作
override func viewDidAppear(_ animated: Bool) {
UIView.animate(withDuration: 60.0, animations: {
let width = self.scrollingTextLabel.frame.width
let height = self.scrollingTextLabel.frame.height
self.scrollingTextLabel.frame = CGRect(x: 5, y: (180 - height), width: width, height: height)
}, completion:{ _ in
self.buttonTextLabel.text = "Play"
})
}
を、それがスピードアップし、遅くなります。つまり、途中で読むのは難しいです。速度を一定にする方法はありますか?アニメーションを作成するアニメーションのオプションで.curveLinear
で
これが正しい答えです。 (投票された。)背景:アニメーションは異なるタイミング曲線を使用します。デフォルトでは、アニメーションは「イージーイン、イージーアウト」のタイミングを使用します。つまり、アニメーションは0スピードで開始し、フルスピードに加速し、中間部分で一定速度を使用し、最後に停止します。アニメーションのタイミングカーブを変更するには、 'animate(withDuration:delay:options:animations:completion:)'のようなoptionsパラメータをとり、オプション値 'を渡すanimate()の形式の1つを使用する必要があります。 curveLinear' –
答えと説明の両方に感謝します。本当に素晴らしい! –