2013-02-15 14 views

cevap

7

Sadece sürgüden aldığınız değeri maksimum değerden çıkarın, bu da değerleri tersine çevirecektir.

+1

Eh, "max değeri" çıkarma değil "1" – borrrden

+0

@borrrden, evet, güncelleriz - Ben 0-1 varsayılan ölçek üstlendiğini. – rdelmar

+1

FI: min'iniz 0.5 ise ve maxınız 1,5 ise. Seçilen değer x ve y onun tersi, sonra x + y = 2'dir. Böylece, tersini şu şekilde hesaplayabilirsiniz: y = 2 − x – Mrwolfy

2

Alt sınıf NSSlider/UISlider. Böylece bu iki yöntem geçersiz kıl -

//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]; 
} 

Bu hak/üst Sonra siz aynı şeyi gerekli maksimum

3

olarak görünmesini minimum ve sol/alt olarak görünmesini sağlayan değerlerini ters olacak ... böylece ters bir pozisyonda yerleştirerek başka bir 90 derece döndü. Slider simetriktir, bu yüzden her iki pozisyonda da aynı görünür. Ama min ve maksimum değerler şimdi tam tersidir. Komuta

...

mySlider.transform = CGAffineTransformRotate(mySlider.transform, 180.0/180*M_PI); 
0

Sadece maksimum değerden kaydırıcı geçerli değerini çıkarın.

label.text = [NSString stringWithFormat:@" %.f%% ", 100 - self.slider.value]; 
+0

Cevabınız zamanımı kurtarır. Teşekkürler –

İlgili konular