我在页面上有n个滑块表示百分比值。显然,在n个滑块上不应允许百分比超过100%。
所以如果当前n-1个滑块的总数是90,那么当第n个滑块被拖动时,我想将其停在10点。
任何想法?
答案 0 :(得分:1)
在UIControlEventValueChanged
上调用的操作方法中,计算sender
的最大允许值,如果其实际值大于最大值,请将sender.value
设置为允许的最大值值。
编辑:我刚用2个滑块尝试了这种方法,效果很好。这是在两个滑块中的任何一个更新时调用的操作方法:
- (IBAction)sliderValueChanged:(id)sender
{
UISlider *currentSlider = (UISlider *)sender;
UISlider *otherSlider = currentSlider == self.slider1 ? self.slider2 : self.slider1;
static float maxSum = 100.0f;
float currentSum = currentSlider.value + otherSlider.value;
if (currentSum > maxSum) {
currentSlider.value = maxSum - otherSlider.value;
}
}