Корректировка максимальных значений UISlider - PullRequest
2 голосов
/ 12 мая 2011

У меня есть три ползунка, и они показывают проценты для разных элементов. Мне нужно, чтобы максимальное значение всех составляло 100 (a + b + c = 100).

Теперь все они зависят друг от друга.и помогает в создании круговой диаграммы.

в настоящее время все могут установить максимальное значение, равное 100.

как можно сделать эту зависимость и максимальное значение логически.

Спасибо заранее.

1 Ответ

4 голосов
/ 12 мая 2011

В методах, в которых вы обрабатываете изменения ползунков, отрегулируйте максимальные значения для всех ползунков в зависимости от текущих, например ::

- (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
}
...