2012-11-13 18 views
0

這是我的兩個UISliders的valueChanged空白。它們的功能是設置對象的最低和最高價格。我無法弄清楚它如何使它們不超過對方的價值。編程兩個UISliders不超過對方的值

因此,如果,應該不可能將maxPrisSlider拖拽到100以下和相反。

- (void)minValueChanged:(UISlider*)sender 
{ 
NSUInteger index = (NSUInteger)(minPrisSlider.value + 0.5); // Round the number. 
[minPrisSlider setValue:index animated:NO]; 

int progressAsInt =(int)(minPrisSlider.value + 0.5f); 
NSString *newText =[[NSString alloc] initWithFormat:@"%d,-",progressAsInt]; 
minPrisText.text = newText; 
} 

- (void)maxValueChanged:(UISlider*)sender 
{ 

NSUInteger index = (NSUInteger)(maxPrisSlider.value + 0.5); // Round the number. 
[maxPrisSlider setValue:index animated:NO]; 

int progressAsInt =(int)(maxPrisSlider.value + 0.5f); 
NSString *newText =[[NSString alloc] initWithFormat:@"%d,-",progressAsInt]; 
maxPrisText.text = newText; 

} 

我曾嘗試加入

maxValueChanged

[maxPrisSlider setMinimumValue:minPrisSlider.value];[minPrisSlider setMaximumValue:maxPrisSlider.value];minValueChanged

但它返回奇怪的結果...

爲此得到了一些工作解決方案?

+0

「它返回奇怪的結果」是什麼意思? –

+0

「事情是,滑塊的拇指位置與其最大值/最小值成正比。」正如Snaker所說。移動minPrisSlider拇指使maxPrisSlider拇指向相反的方向移動。 – ingenspor

回答

1

事情是,滑塊的拇指位置與其最大值/最小值成正比。所以,設置最大/最小值不應該做 在你的情況,你應該試試這個:

if ([minPrisSlider value] > [maxPrisSlider value]) 
    [minPrisSlider setValue:[maxPrisSlider value]]; 

和扭轉它的最大滑塊。不要忘記設置連續值:

[minPrisSlider setContinuous:YES];