使用场景:
UISlider 添加 valueChange 动作触发的方法时,在slider 滑动过程中会多次触发动作事件,但有时候需要手指离开滑动条,结束滑动动作时,才出发动作方法。
1.最佳的解决方法
很简单,不需要更改其他代码,只需要对 UISlider
对象的 continuous
属性设置为 NO
,UISlider
对象会在手指离开时,触发一次 valueChange 事件。
silder.continuous = NO;
2.一般的解决方法
将 UISlider 对象的 event 设置为 UIControlEventTouchUpInside / UIControlEventTouchUpOutside / UIControlEventTouchCancel。但容易引发与页面其它内容的手势冲突。
3.一般的解决方法2
在以下动作方法中加入判断
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;