Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UISlider在释放触摸时过于敏感_Ios_Uikit_Uislider - Fatal编程技术网

Ios UISlider在释放触摸时过于敏感

Ios UISlider在释放触摸时过于敏感,ios,uikit,uislider,Ios,Uikit,Uislider,当在UISlider上释放触摸时,滑块的值会发生轻微且不可控的变化。它是如此的敏感以至于当手指从屏幕上松开时它甚至会发生变化。如何实现用户可以毫无问题地设置所需的值 这就是我创建UISlider的方式: UISlider *slider = [[UISlider alloc] initWithFrame: CGRectMake(100.0, 100.0, 200.0, 40.0)]; slider.minimumValue = 0.0; slider.maximumValue = 100.0;

当在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];

您正在为所有事件注册它。只为您的活动制作一个

[slider addTarget: self action: @selector(sliderChanged:event:) forControlEvents: UIControlEventTouchDragInside];

请尝试将其改为:

[slider addTarget: self action: @selector(sliderChanged:event:) forControlEvents: UIControlEventValueChanged];

如果您只想在抬起手指时触发目标,请尝试将
UISlider
continuous
属性设置为
NO

试试。。希望它能帮助你!这似乎只适用于获得正确的事件。但在较低的级别上,滑块的实际值在触摸端仍然会发生变化,不是吗?当我读出值时,它可能与我收到的值不同。有没有办法确保触摸端的value属性也不会改变?我玩了一点,但它仍然感觉过于敏感。有没有办法让它不那么敏感?提起手指时,我经常会触发触碰,这是应该避免的。把手指直接向上抬几乎是不可能的。但是对于用户来说,这改变了值——这是他不打算的。谢谢你的回复,但另一个答案正是我想要的:)谢谢!我不知道连续性。