我希望在达到特定值时停止UISlider
的动作。在那之后,它不应该在这里和那里移动。我的意思是我想在达到特定值后停止userInteraction
的{{1}}。我该怎么办?
我用过
UISlider
和
myslider.userInteractionEnable=NO;
但是,我仍然可以移动我的滑块。请帮助。
答案 0 :(得分:0)
也许您可以将禁用设置为YES来实现目标,但使用最小值和最大值可能更好,而不是在用户更改其值时阻止用户与控件交互。
答案 1 :(得分:0)
您可以通过以下代码执行此操作:
[mySlider addTarget:self action:@selector(modifySliderValue) forControlEvents: UIControlEventAllEvents];
- (void)modifySliderValue{
if(mySlider.value > 60) {
mySlider.value = 60;
}
}
答案 2 :(得分:0)
您可以将操作添加到valueChanged
事件,如下所示:
[mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
然后实现这样的方法:
-(void)sliderValueChanged:(UISlider*)sender
{
if (sender.value >= YOUR_MAX_VALUE)
{
sender.userInteractionEnabled = NO;
}
}
通过userInteraction
属性到NO
,您应该能够禁用其上的触摸事件。否则,您可能会将其他代码再次设置为YES
。