I couldn't get anything to capture both the start and end of the touches, but upon RTFD-ing, I came up with something that will do both.
@IBAction func sliderAction(_ sender: UISlider, forEvent event: UIEvent) {
if let touchEvent = event.allTouches?.first {
switch touchEvent.phase {
case .began:
print("touches began")
sliderTouchBegan()
case .ended:
print("touches ended")
sliderTouchEnded()
default:
delegate?.sliderValueUpdated(sender.value)
}
}
}
sliderTouchBegan()
and sliderTouchEnded()
are just methods I wrote that handle animations when the touch begins and when it ends. If it's not a begin or end, it's a default
and the slider value updates.
UIControlEventTouchUpInside
orUIControlEventTouchUpOutside
? – MummifyUIControlEventTouchUpInside
on a UISlider, but it works! :) – Sponger