如何为 UIView 动画设置相同的速度

Posted

技术标签:

【中文标题】如何为 UIView 动画设置相同的速度【英文标题】:How to set same speed to UIView animation 【发布时间】:2016-03-11 17:26:53 【问题描述】:

我想为我的UISlider 设置速度,使其移动更顺畅。

这是我尝试动画的方式:

 UIView.animateWithDuration(6, delay: 0.0, options: UIViewAnimationOptions.TransitionCurlUp, animations:  () -> Void in

            self.videoSlider.setValue(time, animated: true)
            if self.videoSlider.value == self.videoSlider.maximumValue 
                self.playerLayer.stop()
                self.playBigButton.hidden = false
                self.pauseButton.hidden = true
                self.playButton.hidden = false
            

            , completion:  (finished: Bool) -> Void in

        )

但它在开始、中间和结束时以不同的速度移动。

【问题讨论】:

你为什么用UIViewAnimationOptions.TransitionCurlUp 什么videoSlider? @dokun1 抱歉刚刚测试了一些东西 【参考方案1】:

尝试为您的动画提供.CurveLinear 选项,如下所示:

 UIView.animateWithDuration(6, 
                      delay: 0.0, 
                    options: [UIViewAnimationOptions.TransitionCurlUp, .CurveLinear],
                  animations:  () -> Void in

            self.videoSlider.setValue(time, animated: true)
            if self.videoSlider.value == self.videoSlider.maximumValue 
                self.playerLayer.stop()
                self.playBigButton.hidden = false
                self.pauseButton.hidden = true
                self.playButton.hidden = false
            

            , completion:  (finished: Bool) -> Void in

        )

【讨论】:

以上是关于如何为 UIView 动画设置相同的速度的主要内容,如果未能解决你的问题,请参考以下文章

iOS:如何为 3 个具有相同持续时间和重复的序列设置动画?

如何为具有约束的 UIView 设置动画?

如何为嵌入在 UITableViewCell 中的 UIView 设置动画

当UIVIew隐藏在sameView中时,如何为UIview设置动画

如何为手动“动画”重新排队对 UIView drawRect 的请求

UIView 动画发生的速度比指定的秒数快