【问题标题】:UISlider animation durationUISlider 动画持续时间
【发布时间】:2016-03-16 13:57:51
【问题描述】:

我是 swift 新手,我正在尝试创建一个应用程序,其中滑块通过按下按钮在 1-100 的值中来回移动 60 秒。但是,我不确定如何使滑块移动从 1 到 100 顺利。这是我到目前为止的代码:

@IBOutlet weak var button: UIButton!
@IBOutlet weak var timer: UILabel!

var county = 5    
    @IBAction func animateSlider(sender: AnyObject) {if (county == 59){

        _ = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("update"), userInfo: nil, repeats: true)}

    if (county>0){
    Slider.setValue(100, animated: true)


    }

问题? UISlider 值立即从 1 到 100 移动。那么,如何将这个动画减慢到 5 秒左右?

我知道一个类似的线程,但我是 Swift 的新手,我相信另一个线程是用 Objective-C 编写的。因此,如果有人能帮我解释一下 swift,我会很高兴。提前致谢!

【问题讨论】:

标签: ios swift uislider


【解决方案1】:
    @IBAction func uiSliderShowProgress(sender: UISlider) {
if sender.value == 100 {
    var transition: CATransition = CATransition()
    transition.startProgress = 0
    transition.endProgress = 1.0
    transition.duration = 0.8
    uiSliderShowProgress.layer.addAnimation(transition, forKey: "transition")
    uiSliderShowProgress.value = 0
    lblSliderProgress.text = "\(Int(uiSliderShowProgress.value))"
}
else {
    var transition: CATransition = CATransition()
    transition.startProgress = 0
    transition.endProgress = 1.0
    transition.duration = 0.8
    uiSliderShowProgress.layer.addAnimation(transition, forKey: "transition")
    uiSliderShowProgress.value = 100
    lblSliderProgress.text = "\(Int(uiSliderShowProgress.value))"
}
}

@IBAction func btnChangeSliderValueClick(sender: UIButton) {
    self.uiSliderShowProgress(uiSliderShowProgress)
}

这会在按钮单击时将滑块的值从 0-100 和 100-0 更改,并使滑块的拇指淡入和淡出,造成延迟的错觉!!!希望这会对你有所帮助...

【讨论】:

  • 是的,但是这会像slider.setValue(Int,animate: Bool)一样立即将滑块从1-100移动。有没有办法让它从1-100平滑过渡2秒?
  • 您好,我考虑了您的问题并正在寻找解决方案,因为它甚至让我非常好奇……我发现使用计时器和 UIView 动画是行不通的。所以我们可以创造一个错觉而不是让它延迟!我正在使用我使用 CATransition 动画的代码编辑我的答案,这将使滑块拇指淡入和淡出以产生一种它被延迟的错觉......我希望它会对你有所帮助
  • 嗨,是的,我正在寻找一种计时器和 UIView 动画可以正常工作的方法。试过你所说的,不得不承认这是一个很好的效果。谢谢
  • @Chunks 非常欢迎你,我很感激能够帮助你:)
  • @Chunks 如果对您有帮助,请接受它作为答案:)
猜你喜欢
  • 2018-06-15
  • 2014-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-19
  • 2012-12-12
  • 1970-01-01
相关资源
最近更新 更多