0

選択範囲にスナップするスライダーを作成するにはどうすればよいですか。左側に 1 つ、右側に 1 つ、中央に 1 つ、合計 3 つの選択肢がありました。ユーザーがスライダーを少し左にドラッグすると、アニメーションが表示され、左の選択範囲にスナップされます。右も中も同じ効果。

アプリ UBER に精通している場合は、まさに私が話しているもの (4 つのセクション) があります。スクリーンショットはこちら (下のスライダー): http://i.imgur.com/xTPfDcY.png

これをどのように実装するか考えていますか? UISlider を使用する必要がありますか?

どうもありがとう、ゲイブ

4

2 に答える 2

1

基本的な考え方は、ユーザーがスライダーを動かしたときにスライダーの現在の値を確認し、それが「スナップ」範囲内にある場合は、スライダーの値を目的の位置に設定するというものです。このようなもの:

- (void)sliderUpdated:(UISlider *)slider {
    float val = slider.value;
    if (val>= 0.46 && val <= 0.54) {
        [slider setValue:0.5 animated:YES];
    }
}

明らかに、3 つの異なる範囲をチェックする必要があります。私が投稿したコードでは、スライダーの中央に戻り止めがあるように見えます。また、スライダーを左右どちらに動かしたかを把握できるように、スライダーの移動方向を追跡する必要もあります。

于 2013-03-07T22:36:41.563 に答える