我是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,我很乐意。谢谢。 !
答案 0 :(得分: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改变,并使滑块的拇指淡入和淡出,造成延迟的错觉!希望这会对你有所帮助......