检测UISlider的触摸?

我在屏幕上有一个UISlider,我需要能够检测到什么时候用户停止触摸它。 (所以我可以淡化一些元素)。

我曾尝试使用:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

但在滑块结束触摸时,这不起作用。

您可以使用两个控制事件来检测触摸何时结束; 尝试

 [slider addTarget:self action:@selector(touchEnded:) forControlEvents:UIControlEventTouchUpInside]; 

要么

 [slider addTarget:self action:@selector(touchEnded:) forControlEvents:UIControlEventTouchUpOutside]; 

如果要检测touchesEnd事件的两种types,请使用

 [slider addTarget:self action:@selector(touchEnded:) forControlEvents:UIControlEventTouchUpInside | UIControlEventTouchUpOutside]; 

而不是使用touchesEnded:不应该用于这个目的),附加一个动作到UISliderUIControlEventValueChanged事件,并设置UISlidercontinuous属性为NO ,所以当用户完成select值。

 mySlider.continuous = NO; [mySlider addTarget:self action:@selector(myMethodThatFadesObjects) forControlEvents:UIControlEventValueChanged];