Ползунок iOS, изменяющий параметры

#ios #cocoa-touch

#iOS #cocoa-touch

Вопрос:

У меня есть элемент слайдера, для которого я хочу обнаружить действие касания.

Я пытаюсь добавить действие touchesEnded программно:

 [self.slider touchesEnded:(NSSet *] touches withEvent:event];
  

Проблема в том, что я понятия не имею, откуда взять переменную touches (я предполагаю, что параметр события — это функция, которую я хочу вызвать после завершения касания).

Ответ №1:

Создайте подкласс для UISlider. Реализовать

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

метод в подклассе. Делегируйте событие касания вашему представлению.

Комментарии:

1. Как тогда будет работать моя реализация? Я полагаю, что в файле CustomUISlider.m у меня будет метод touchesEnded, но он не сможет получить доступ к объекту NSTimer, который я использую в своем контроллере просмотра.

2. Используйте делегирование и протокол. После завершения касания делегируйте событие контроллеру представления вместе с touches объектом.