2012-05-06 7 views
1

私はこのような問題を抱えています...スライドしているときにユーザーのスライダをブロックしたいと思います。私は.isUserInteractionEnabledはそれを処理すると思ったが、ユーザーがスライダを解放した後にのみ機能する。 私は、ユーザーからスライダーを盗んで停止したいと思います。UISliderのユーザータッチを解除するには?

どうすればよいですか?

答えて

2

UISliderオブジェクトにセレクタを追加する必要があります。

[slider addTarget:self action:@selector(sliderMoved:) forControlEvents:UIControlEventValueChanged]; 
//runs a method called "sliderMoved" located in the same class as the slider (hence the addTarget:self) when the value is changed of the slider 

をして、ユーザーがスライダーをスライドしようとするたび平均の値を設定し、このような方法を、作ることができます:あなたはUISliderが命名した場合たとえば、「スライダー」、あなたはこれを行う必要があります。

-(void)sliderMoved:(UISlider*)sender{ 
    sender.value = (sender.maximumValue + sender.minimumValue)/2; 
} 
+0

しかし、私はすでに "valueChanged"を実装しています。私は別のものが続くときにユーザーを中断させません。私はおそらくいくつかの財産について考えましたか?分かりません... –

+0

その特定のスライダにvalueChangedを実装しましたか?特定のUISliderのValueChangedプロパティに別のメソッドをアタッチしていない限り、問題ありません。そして、同じUISlider上にある場合は、スライドしたときにユーザーを中断したいと言ったので、あなたの質問を誤解しているはずです。 – ParticleGames