1

我在页面上有 n 个表示百分比值的滑块。显然,不应允许该百分比在 n 个滑块中超过 100%。

因此,如果当前 n-1 个滑块的总数为 90,那么当拖动第 n 个滑块时,我想将其停在 10 处。

有任何想法吗 ?

4

1 回答 1

1

在调用 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;
    }
}
于 2011-01-05T11:00:57.187 回答