Возникновение огня UIControlEventValueChanged во время анимации UISlider? - PullRequest
15 голосов
/ 12 мая 2010

Я настроил свой UISlider так, чтобы он реагировал на события с измененными значениями:

[customSlider addTarget:self action:@selector(sliderMove:) forControlEvents:UIControlEventValueChanged];
[customSlider addTarget:self action:@selector(sliderStart:) forControlEvents:UIControlEventTouchDown];
[customSlider addTarget:self action:@selector(sliderEnd:) forControlEvents:UIControlEventTouchUpInside];

Я хотел бы анимировать ползунок в положение, в котором пользователь оставил его при последнем использовании вида. Я делаю это с:

[customSlider setValue:position animated:YES];

Все работает нормально, за исключением того, что я создал "тег", который висит над ползунком регулятора, чтобы пользователь мог видеть значение при перемещении слайдера. Положение «тега» устанавливается, когда UIControlEventValueChanged вызывает метод «sliderMove».

При использовании [slider setValue:position animated:YES] ползунок перемещается, но событие не срабатывает.

Есть ли делегат, которого я могу получить, или событие, которое охватывает этот сценарий?

Спасибо за любую помощь:)

1 Ответ

29 голосов
/ 12 мая 2010

Похоже, ошибка, попробуйте обойти это, позвонив

[slider sendActionsForControlEvents:UIControlEventValueChanged];

сразу после установки значения программно.

...