UISliderの値を逆にする良い方法はありますか?デフォルトは左側がmin、右側がmaxです。私はそれが逆の方法で働くことを望みます。UISliderのmin-max値を逆にするにはどうすればよいですか?
これを180度回転させるのはちょっとばかげているようです。何か案は?
ありがとうございます!
UISliderの値を逆にする良い方法はありますか?デフォルトは左側がmin、右側がmaxです。私はそれが逆の方法で働くことを望みます。UISliderのmin-max値を逆にするにはどうすればよいですか?
これを180度回転させるのはちょっとばかげているようです。何か案は?
ありがとうございます!
スライダから取得した値を最大値から減算するだけで、値が逆になります。
サブクラス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];
}
これは右/トップは、私は、あなたとまったく同じことを必要とした最大
として表示されるように、最小および/左下に見えるようにできるように値を反転します...それを逆さまにして90度回転させてください。スライダは対称的なので、両方の位置でまったく同じように見えます。しかし、最小値と最大値は逆になりました。コマンドがある
...
mySlider.transform = CGAffineTransformRotate(mySlider.transform, 180.0/180*M_PI);
ただ、最大値から、スライダーの現在値を減算します。
label.text = [NSString stringWithFormat:@" %.f%% ", 100 - self.slider.value];
あなたの答えは私の時間を節約します。ありがとう –
まあ、「最大値」から差し引くない「1」 – borrrden
@borrrden、ええ、私は更新します - 私は0から1のデフォルトの規模を想定しました。 – rdelmar
FI:最小値が0.5、最大値が1.5の場合選択された値はxであり、yはその逆であり、x + y = 2である。 y = 2-x – Mrwolfy