Проблема UISlider - как обнаружить пользователя, отпускающего кнопку слайдера в iOS? - PullRequest
5 голосов
/ 25 мая 2011

Я могу обнаружить событие изменения значения из UISlider, но теперь мне нужно обнаружить пользователя, отпускающего кнопку ползунка.

Как обнаружить это событие (или коснуться концов ползунка)?

Должен ли я использовать событие "touch up inside" для обнаружения?

Спасибо.

Ответы [ 4 ]

3 голосов
/ 31 мая 2013

Вы также можете использовать UISlider's UIControlEventValueChanged.Установите для свойства continuous значение NO, чтобы инициировать, когда пользователь завершит выбор значения.

[mySlider addTarget:self action:@selector(myMethod) forControlEvents:UIControlEventValueChanged];
mySlider.continuous = NO;
2 голосов
/ 31 мая 2013

Через IB вы можете прикрепить «Touch Up Inside» и «Touch Up Outside» к методу / действию viewController для выпуска слайдера.

Или более программно (возможно, в вашем viewController), вы можете использовать

- (void)addTarget:(id)target action:(SEL)action 
                   forControlEvents:(UIControlEvents)controlEvents  

, чтобы определить, когда события UIControlEventTouchUpOutside и UIControlEventTouchUpInside происходят с вашим UISlider.

Ссылки

2 голосов
/ 25 мая 2011

Я не работал со слайдерами, однако UISlider наследует от UIView - конечно, вы можете просто нажать на touchesBegan: и touchesEnded: для выполнения своей задачи.

0 голосов
/ 15 ноября 2017

UIControlEventTouchDown событие, чтобы определить, когда пользователь начинает использовать элемент управления. UIControlEventTouchUpInside когда пользователь заканчивает работу с ползунком. Чтобы добавить событие, просто сделайте, как предложил @JohnK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...