Цель C: изменить ширину линии с помощью UISlider - PullRequest
0 голосов
/ 07 декабря 2011

У меня есть этот код, чтобы изменить ширину обводки линии, которую я использую для рисования на экране.

- (IBAction)changeSize:(id)sender
{
    if (Slider.value > 25.0)
    {
        Width += 3;
    }
}

Это работает, но когда я перетаскиваю большой палец ползунка до максимума, он просто добавляет только маленький размер, но когда я делаю это частично, он становится больше с каждым шагом.

Кроме того, когда я уменьшаю его на UISlider, он все равно добавляет больше ... он не уменьшается ...

Как я могу сделать изменение размера с помощью UISlider ??

Ответы [ 2 ]

2 голосов
/ 07 декабря 2011

Похоже, вы говорите увеличить ширину на 3 при смене ползунка.

Вам нужно установить ширину, равную значению ползунка .

0 голосов
/ 07 декабря 2011

Ну, вам нужно понять, как работают ползунки.Значение Slider.value является вашим текущим значением ползунка, и оно переходит от Slider.minimumValue к Slider.maximumValue, который вы можете установить при создании ползунка.Вы должны установить для них минимальный ход линии и максимальный ход линии.В вашем методе changeSize у вас должна быть только 1 строка: Width = Slider.value;Что вы делаете сейчас, так это то, что каждый раз, когда вы перемещаете ползунок и его значение больше 25.0, вы увеличиваете ход на 3. Что касается скорости перемещения ползунка, влияющей на ход, в вашем случае: сколько раз метод changeSize будетБыть вызванным основано на времени, а не на стоимости.Так что, если вы двигаете его быстрее, он будет вызываться меньше, чем если вы двигаете его медленно, тем самым увеличивая ширину в 3 раза.

...