Closed kishanbarmawala closed 1 year ago
You can disable some of the thumbs:
slider.disabledThumbIndices = [1, 3]
Would that help?
Thanks for the quick response. I've seen the same code in documentation.
But in my case, I have a different scenario. Can you please go through my code?
multislider.addTarget(self, action: #selector(sliderDragged), for: .touchUpInside)
@objc private func sliderDragged() {
// draging code
}
What I want is, when we try to slide the slider, we do not have to slide the that and along with that I have to show some alert message. And I have multiple users so some of the users have to access the slider and some do not have to slide that slider.
Please let me know if you didn't get what I am saying.
Hmmm. You can disable the thumb for some users but not others. As for the message, I personally don't like UX that tells the user "you did something that is not allowed". It's better to just disable/hide any control they can't control.
So if I was in your place, I would go to the product owner and suggest disabling instead of showing a "you did wrong" message.
You could save the unmovable value, and then:
@objc private func sliderDragged() {
if notAllowedToDrag {
slider.value = frozenValue
presentScoldingMessage()
}
}
But this is not good UX, disabling seems better.
Hey, Thanks for the response.
I've tried your code and the slider still sliding after assigning a frozen value. No luck!
Really? Did you change isContinuous
?
Because it works for mw when I add the following to the Example
project:
@objc func sliderChanged(_ slider: MultiSlider) {
slider.value = [3]
}
Hello, I've used Multi slider in my project. But now I what to restrict the dragging of sliders for a particular user.
So what I want is, I want to check a condition before starting dragging.
Is there any way to do such thing?
Thanks in advance