在UISlider上释放触摸时,滑块的值会稍微变化并且不受控制地变化。它非常灵敏,甚至只是在屏幕上释放手指时也会发生变化。如何实现用户可以设置他想要的值而不会出现问题?
这就是我创建UISlider的方式:
UISlider *slider = [[UISlider alloc] initWithFrame: CGRectMake(100.0, 100.0, 200.0, 40.0)];
slider.minimumValue = 0.0;
slider.maximumValue = 100.0;
[slider addTarget: self action: @selector(sliderChanged:event:) forControlEvents:UIControlEventAllEvents];
[slider setValue: 50.0 animated: NO];
答案 0 :(得分:5)
您正在为所有活动注册。只为你的活动设置
[slider addTarget: self action: @selector(sliderChanged:event:) forControlEvents: UIControlEventTouchDragInside];
答案 1 :(得分:2)
请尝试将其更改为:
[slider addTarget: self action: @selector(sliderChanged:event:) forControlEvents: UIControlEventValueChanged];
如果您想要的只是在手指抬起时触发目标,请尝试将continuous
的{{1}}属性设置为UISlider
。