2012-11-13 2 views
0

이것은 두 개의 UISlider에 대한 valueChanged void입니다. 그들의 기능은 객체에 대한 최소 및 최대 가격을 설정하는 것입니다. 다른 가치를 뛰어 넘지 않는 방법을 찾아 낼 수 없습니다.서로 다른 값을 초과하지 않도록 두 명의 UISlider를 프로그래밍하십시오.

따라서 인 경우 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; 

} 

나는 추가 시도

minValueChanged

에서 maxValueChanged

[maxPrisSlider setMinimumValue:minPrisSlider.value];에서 [minPrisSlider setMaximumValue:maxPrisSlider.value];하지만 이상한 결과를 반환 ...

이것을위한 몇 가지 해결책이 있습니까?

+0

"이상한 결과를 반환합니다"는 의미는 무엇입니까? –

+0

"문제는 슬라이더의 엄지 위치가 최대/최소 값에 비례한다는 것입니다." 스나이퍼는 말했다. minPrisSlider thumb을 이동하면 maxPrisSlider thumb이 반대 방향으로 이동합니다. – ingenspor

답변

1

슬라이더의 엄지 위치는 최대/최소값에 비례합니다.

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

을 그리고 최대 슬라이더를 위해 역 : 그래서 귀하의 경우에는 을하지 말아야의 최대/최소 값을 설정, 당신은이를 시도해야합니다. 연속 값을 설정하는 것을 잊지 마세요 :

[minPrisSlider setContinuous:YES]; 
관련 문제