gpt4 book ai didi

ios - 为什么我的 UISlider 没有动画?

转载 作者:IT王子 更新时间:2023-10-29 05:24:51 24 4
gpt4 key购买 nike

根据 Apple 的 documentation ,可以以编程方式设置具有平滑动画的 UISlider 的值。我正在尝试从自定义 View Controller 执行此操作,UI 是从 Storyboard 中定义的。

背景

在我的示例中,我尝试从自定义 View Controller 更新 slider 值,UI 是从 Storyboard 中定义的。该示例仅呈现单个 slider 。

当用户释放 slider 时,该值重置为 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()
}

}

resetSlider 链接到 Touch Up Inside 事件。

问题

resetSlider 被调用时,界面上的值确实发生了变化,但它没有动画(值只是“跳”到 0)。我的目标是让值优雅地移回零。

注意:“重置!”仅显示一次(每次点击),这表明 resetSlider 未被多次调用。

为什么这个 UISlider 没有动画?

视频

由于 IB 非常直观,here is a video在这种情况下,密码是 code

最佳答案

setValue animated 参数实际上并不执行动画,而是启用动画。

要触发动画,需要使用UIView.animateWithDuration , 并传入 setValue 命令作为动画:

UIView.animateWithDuration(0.2, animations: {
self.mySlider.setValue(0, animated:true)
})

swift 5

UIView.animate(withDuration: 0.2, animations: {
self.mySlider.setValue(0, animated:true)
})

关于ios - 为什么我的 UISlider 没有动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28906312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com