首页 文章

UISlider动画持续时间

提问于
浏览
-1

我是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.Thanks提前!

1 回答

  • 0
    @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更改,并使滑块的拇指淡入和淡出,从而产生延迟的错觉!希望对你有帮助...

相关问题