У меня есть экземпляр UIView
, который я анимирую с помощью CAKeyframeAnimation
. Это зацикленная анимация, которая будет постоянно находиться в движении. Однако мне нужно разрешить взаимодействие пользователя с элементом (точнее, реагировать на касания). Поскольку CoreAnimation перемещает только уровень представления, а не модель, я не могу использовать экземпляр UIButton
, например, для получения событий touchUpInside
.
Рассмотрим следующий базовый пример макета:
Я использую синее поле для событий касания, переопределяя метод touchesEnded:withEvent:
в подклассе UIView
. Затем я передаю это событие через NSNotification
(я действительно не хочу вводить много связей для обработки этого события) в содержащий контроллер представления, который затем выполняет hitTest:
на анимированном красном поле.
Все это кажется довольно хакерским, чтобы просто прикоснуться к анимированному UIView
. Каковы лучшие шаблоны для обработки касаний для анимированных экземпляров UIView
/CALayer
?