UISlider最大值调整

时间:2011-05-12 13:04:15

标签: iphone uislider

我有三个滑块,这些显示不同元素的百分比,我需要的最大值是100(a + b + c = 100)。

现在这些都是相互依赖的,有助于制作饼图。

目前所有人都可以设置为100的最大值。

如何在逻辑上制作此依赖关系和最大值。

提前完成。

1 个答案:

答案 0 :(得分:4)

在处理滑块的方法中,根据当前滑块调整所有滑块的最大值,例如:

- (void) sliderChanged:(UISlider*)sender{
    slider1.maximumValue = 100 - slider2.value - slider3.value;
    // etc
}

编辑:调整最大值确实可能导致不行为。相反,为确保总和不超过100,您可以手动调整滑块的值,如果它超出预期值:

- (void) sliderChanged:(UISlider*)sender{
    //sender is slider1
    sender.value = MIN(sender.value, 100 - slider2.value - slider3.value);
    // etc
}