sli*_*fty 12 animation ios swift
根据Apple的文档,可以通过编程方式设置具有平滑动画的UISlider的值.我试图从自定义视图控制器执行此操作,UI正在从故事板中定义.
上下文
在我的示例中,我试图从自定义视图控制器更新滑块值,UI正在从故事板中定义.该示例仅呈现单个滑块.
当用户释放滑块时,该值将重置为0.
代码
import UIKit
class ViewController: UIViewController {
@IBOutlet var mySlider: UISlider!
@IBAction func resetSlider() {
mySlider.setValue(0, animated:true)
NSLog("Reset!")
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
Run Code Online (Sandbox Code Playgroud)
resetSlider与Touch Up Inside事件有关.
问题
当resetSlider调用时,接口上的值确实发生了变化,但它没有动画(该值只是"跳转"到0).我的目标是让价值优雅地回归到零.
注意:"重置!" 仅显示一次(每次点击),表示resetSlider未多次调用.
为什么这个UISlider没有动画?
该视频
由于IB是如此直观,这里是一个视频的情况,密码是code
f3n*_*1kc 43
setValue animated参数实际上不执行动画,而是启用动画.
要触发动画,您需要使用UIView.animateWithDuration,并将setValue命令作为动画传递:
UIView.animateWithDuration(0.2, animations: {
self.mySlider.setValue(0, animated:true)
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5067 次 |
| 最近记录: |