Cod*_*ver 0 user-interface uislider uianimation ios swift
我有一个UISlider,我想将其值设置为1到10.我使用的代码是.
let slider = UISlider()
slider.value = 1.0
// This works I know that
slider.value = 10.0
Run Code Online (Sandbox Code Playgroud)
我想要做的是为UISlider设置动画,以便需要0.5秒才能更改.我不希望它变得更加流畅.
到目前为止我的想法是.
let slider = UISlider()
slider.value = 1.0
// This works I know that
UIView.animateWithDuration(0.5, delay: 0.0, options: .CurveEaseInOut, animation: { slider.value = 10.0 } completion: nil)
Run Code Online (Sandbox Code Playgroud)
我正在寻找Swift中的解决方案.
EDITED
经过一番讨论,我想我会澄清两个建议的解决方案之间的差异:
.setValue(10.0, animated: true).UIView.animateWithDuration.由于作者明确要求改变将需要0.5秒 - 可能由另一个动作触发 - 第二个解决方案是更喜欢.
例如,请考虑将按钮连接到将滑块设置为其最大值的操作.
@IBOutlet weak var slider: UISlider!
@IBAction func buttonAction(sender: AnyObject) {
// Method 1: no animation in this context
slider.setValue(10.0, animated: true)
// Method 2: animates the transition, ok!
UIView.animateWithDuration(0.5, delay: 0.0, options: .CurveEaseInOut, animations: {
self.slider.setValue(10.0, animated: true) },
completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
UIVIewController仅使用UISlider和UIButton对象运行一个简单的单个应用程序会产生以下结果.
| 归档时间: |
|
| 查看次数: |
8325 次 |
| 最近记录: |