2011-05-12 52 views
2

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

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

目前都可以设置为最大值是100

怎么能做出这种依赖和最大值逻辑。

Thanx提前。

回答

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 
} 
+0

这显示了一个奇怪的组合,一个滑块显示60的位置等节目20日,因为最高的那个位置值可以停止移动滑块而不是设置最大值。 – Ishu 2011-05-13 04:31:09

+0

事实上,这种解决方案并不好......尝试我的更新 – Vladimir 2011-05-13 08:08:21

+0

好的谢谢你,根据其他设置最大值是好的,但如果我会得到解决方案,意味着停止移动滑块根据最大值是100比设置最大值,然后我想去那一个。非常感谢你。 – Ishu 2011-05-14 07:13:33