这是我的两个UISliders的值变化空洞。它们的功能是设置对象的最小和最大价格。我无法弄清楚如何使它们不超过彼此的价值。
因此,如果minPrisSlider.value = 100
,则不应该将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;
}
我尝试过添加
[minPrisSlider setMaximumValue:maxPrisSlider.value];
中的 maxValueChanged
和
[maxPrisSlider setMinimumValue:minPrisSlider.value];
中的 minValueChanged
但它会返回奇怪的结果......
为此获得了一些有效的解决方案?
答案 0 :(得分:1)
事实是,滑块的拇指位置与其最大/最小值成比例。因此,设置最大/最小值不应该这样做 在你的情况下,你应该尝试这个:
if ([minPrisSlider value] > [maxPrisSlider value])
[minPrisSlider setValue:[maxPrisSlider value]];
并将其反转为最大滑块。不要忘记设置连续值:
[minPrisSlider setContinuous:YES];