首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >增量为5的UISlider

增量为5的UISlider
EN

Stack Overflow用户
提问于 2010-03-26 05:16:18
回答 4查看 46.7K关注 0票数 73

如何让我的UISlider1-100开始以5为增量

EN

回答 4

Stack Overflow用户

发布于 2015-11-17 04:08:10

在Swift中,一个稍微优雅一点的解决方案可能是这样

代码语言:javascript
复制
let step: Float = 5
@IBAction func sliderValueChanged(sender: UISlider) {
  let roundedValue = round(sender.value / step) * step
  sender.value = roundedValue
  // Do something else with the value

}

这样你就可以得到步骤5。你可以在我的post中阅读更多关于设置的信息。

票数 68
EN

Stack Overflow用户

发布于 2015-07-21 01:29:35

对于任何正在寻找Swift语法的人来说...

代码语言:javascript
复制
override func viewDidLoad() {
    super.viewDidLoad()
    mySlider.addTarget(self, action: "sliderValueDidChange:", forControlEvents: .ValueChanged)
}

func sliderValueDidChange(sender:UISlider!)
{
    //Set value to the nearest 5...
    print((Float)((Int)((sender.value + 2.5) / 5) * 5))
    sender.setValue((Float)((Int)((sender.value + 2.5) / 5) * 5), animated: false)
}

或者,只需使用Assistant Editor创建一个Action函数(我最终也是这么做的)……

代码语言:javascript
复制
@IBAction func mySliderValueChanged(sender: UISlider) {
    //Set value to the nearest int
    sender.setValue(Float(roundf(sender.value)), animated: false)

}
票数 7
EN

Stack Overflow用户

发布于 2017-04-13 20:31:32

在swift 3中,使用增量为+/- 7的滑块:

代码语言:javascript
复制
@IBOutlet weak var sldComponent: UISlider!

..。

代码语言:javascript
复制
sldComponent.addTarget(self, action:  #selector(_sldComponentChangedValue),for: .valueChanged)

..。

代码语言:javascript
复制
func _sldComponentChangedValue(sender: UISlider!) {

        self.sldComponent.setValue((round(sender.value / 7) * 7), animated: false)
        print("\(sender.value)")

}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2519460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档