在swift 3中检测uislider拇指拖动的方向

Posted

技术标签:

【中文标题】在swift 3中检测uislider拇指拖动的方向【英文标题】:Detect a direction of uislider thumb drag in swift 3 【发布时间】:2017-08-16 16:49:05 【问题描述】:

我需要禁用 UISlider 的拖动拇指向右方向并启用它向左拖动。如何在 Swift 3 中做到这一点?

提前致谢

【问题讨论】:

滑块从哪里开始?极端吧? 从最左边 【参考方案1】:

您应该维护一个“旧值”,以便您可以将其与“新值”进行比较,然后简单地将其设置回来。

class ViewController 

    @IBOutlet weak var slider: UISlider!
    var value: Float = 0.0

    override func viewDidLoad() 
        super.viewDidLoad()

        value = slider.value
    

    @IBAction func sliderValueChanged(_ sender: UISlider, forEvent event: UIEvent) 

        if sender.value > self.value 
            sender.setValue(self.value, animated: false)
         else 
            self.value = slider.value
        
    

【讨论】:

【参考方案2】:

保留旧值并根据需要设置初始值:

class ViewController: UIViewController 

    @IBOutlet weak var slider: UISlider!
    var lastValue:Float = 0.0

    override func viewDidLoad() 
        super.viewDidLoad()
        lastValue = slider.value

    

    @IBAction func slider(_ sender: UISlider) 
        if sender.value > lastValue 
            slider.setValue(lastValue, animated: false)
        
        lastValue = sender.value
    

【讨论】:

以上是关于在swift 3中检测uislider拇指拖动的方向的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift - UISlider - 添加第二个轨迹栏

自定义 UISlider 拇指图标:如何阻止拇指图标在拖动时恢复为默认圆形图标?

在 Swift 中更改 UISlider 拇指的大小

Swift UISlider 删除拇指色调未完全加载的问题

UISlider 拇指移动而不接触拇指

检测 UISlider 何时开始和结束拖动