1

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

どうやってするか?

4

1 に答える 1

2

UISlider オブジェクトにセレクターを追加する必要があります。たとえば、「slider」という名前の 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

次に、ユーザーがスライダーをスライドさせようとするたびに値を平均に設定する、次のようなメソッドを作成できます。

-(void)sliderMoved:(UISlider*)sender{
    sender.value = (sender.maximumValue + sender.minimumValue) / 2;
}
于 2012-05-06T21:46:28.143 に答える