How to enable “tap and slide” in a UISlider?

后端 未结 14 553
不知归路
不知归路 2020-12-03 20:54

What I want to get is a UISlider which lets the user not only slide when he starts on its thumbRect, but also when he taps elsewhere. When the user

14条回答
  •  春和景丽
    2020-12-03 21:44

    Adding swift version of Ali AB.'s answer,

    @IBAction func sliderTappedAction(sender: UITapGestureRecognizer)
    {
        if let slider = sender.view as? UISlider {
    
            if slider.highlighted { return }
    
            let point = sender.locationInView(slider)
            let percentage = Float(point.x / CGRectGetWidth(slider.bounds))
            let delta = percentage * (slider.maximumValue - slider.minimumValue)
            let value = slider.minimumValue + delta
            slider.setValue(value, animated: true)
        }
    }
    

提交回复
热议问题