UISlider
には,0,1,2および3という4つのポイントがあります。私は、親指の位置が0-1のときは0に戻ってくるはずですが、弾力的な効果が必要です。 1-2,2-3についても同様です。この実装は私のアプリケーションで私に優位性を与えるでしょう。iPhone上でのUISliderの弾力効果
私は弾力のある効果でそれを試しました。しかし、それは良く見えません。
UISlider
には,0,1,2および3という4つのポイントがあります。私は、親指の位置が0-1のときは0に戻ってくるはずですが、弾力的な効果が必要です。 1-2,2-3についても同様です。この実装は私のアプリケーションで私に優位性を与えるでしょう。iPhone上でのUISliderの弾力効果
私は弾力のある効果でそれを試しました。しかし、それは良く見えません。
「タッチアップインサイド」にアクションを送信するために、あなたのスライダーを知らせますイベント(UIControlEventTouchUpInside
)。この方法まで、アクションフック:それはあなたが本当に欲しいものかどう
- (IBAction)dragEndedWithSlider:(UISlider *)sender {
CGFloat roundedValue = roundf(sender.value);
[sender setValue:roundedValue animated:YES];
}
かわりroundf
のtruncf
を使用することができます。
あなたはUISliderのサブクラスを作成し、これを追加することができます。
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
CGFloat floorValue = floor(self.value);
if ((self.value - floorValue) > 0.5) {
[self setValue: floorValue + 1.0 animated: YES];
} else {
[self setValue: floorValue animated: YES];
}
}
こんにちはrokjarc、私は1-2-3-4-5のようなスケールを持っていると言えるでしょう...今度は親指のイメージは2-4だけに移動し、4の後にはshouldnさらに移動する。 – Srinivas
@sailaja:コメントにコードを入れるのは難しいです(他の質問への回答を編集するのは難しい)。あなたの場合は 'touchesMoved:'をオーバーライドします。ここで、スライダオフセットの最小値と最大値を適用することができます。 if(self.value <2.0)[self setValue:2.0]のようなものです。 else if(self.value> 4.0)[self setValue 4.0]; ' –
Wao .. !!不思議に思った。おかげでロブ:) – Nitish
+1:エレガント! :) –
こんにちは@rob mayoff、私は1-2-3-4-5のようなスケールを持っていると私は言うことができる...今親指のイメージは2-4だけに移動する必要がありますし、4の後にそれは動くべきではないさらに。 – Srinivas