7

UISliderの値を逆にする良い方法はありますか?デフォルトは、左側が最小、右側が最大です。逆に動作させたいのですが。

180度回転させるのは少しばかげているようです。何か案は?

ありがとう!

4

9 に答える 9

9

最大値からスライダーから取得した値を引くだけで、値が逆になります。

于 2013-02-15T01:07:35.760 に答える
4

次に、あなたとまったく同じものが必要だったので、さらに90度回転させて、逆さまの位置にしました。スライダーは左右対称なので、どちらの位置でもまったく同じに見えます。しかし、最小値と最大値が逆になりました。

コマンドは...

mySlider.transform = CGAffineTransformRotate(mySlider.transform, 180.0/180*M_PI);
于 2015-04-04T09:54:27.640 に答える
2

NSSlider/UISlider のサブクラス。このようにこれら 2 つのメソッドをオーバーライドします -

//Assumes minValue not necessarily 0.0

-(double)doubleValue
{

    double minVal = [self minValue];
    double maxVal = [self maxValue];

    double curValue = [super doubleValue];
    double reverseVal = maxVal - curValue + minVal;
    return reverseVal;
}

-(void)setDoubleValue:(double)aDouble
{

    double minVal = [self minValue];
    double maxVal = [self maxValue];

    double reverseVal = maxVal - aDouble + minVal;

    [super setDoubleValue:reverseVal];
}

これにより値が反転し、右/上が最小値として表示され、左/下が最大値として表示されます

于 2014-09-19T00:28:39.377 に答える