Check if user finished sliding on a continuous UISlider?
Also note you should connect the UIControlEventTouchUpOutside
event as well in case the user drags his finger out of the control before lifting it.
I just had to do this, so I looked up touch properties, and used the full IBAction header.
This should be a viable alternative for people who want some extra control, though Jas's is definitely easier on the code side.
- (IBAction)itemSlider:(UISlider *)itemSlider withEvent:(UIEvent*)e;
{
UITouch * touch = [e.allTouches anyObject];
if( touch.phase != UITouchPhaseMoved && touch.phase != UITouchPhaseBegan)
{
//The user hasn't ended using the slider yet.
}
}
:D
You can do this with simple target/actions.
Set a target and action for the UIControlEventValueChanged
event, and then another target and action for the UIControlEventTouchUpInside
event. With the continuous
property set to YES
, the value changed event will fire as the slider changes value, while the touch up inside event will only fire when the user releases the control.