2011-05-12 57 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