我在页面上有 n 个表示百分比值的滑块。显然,不应允许该百分比在 n 个滑块中超过 100%。
因此,如果当前 n-1 个滑块的总数为 90,那么当拖动第 n 个滑块时,我想将其停在 10 处。
有任何想法吗 ?
在调用 on 的操作方法中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;
}
}