Как обрабатывать одни и те же сенсорные события в iOS от разных объектов одного и того же класса? - PullRequest
0 голосов
/ 25 апреля 2011

У меня есть класс TouchImageView, который является подклассом UIImageView. Я хочу, чтобы объекты этого класса обрабатывали сенсорные события. Он наследует все свойства и методы UIImageView, и я включаю взаимодействие с пользователем, переопределяю [init] и [touchesBegan: WithEvent]. И объекты этого класса создаются в коде и добавляются в качестве подпредставлений в основной вид. Теперь мне нужно обработать сенсорные события, запускаемые этими «TouchImageViews». Я знаю, как создать элемент управления в Интерфейсном Разработчике и затем связать только его конкретное событие с IBAction контроллера. Но я не могу найти способ справиться с программно созданными представлениями. Перетаскивать мышью нечего, поскольку объект TouchImageView создается позже во время выполнения.

Вопрос заключается в следующем: как обработчик [touchesBegan: WithEvent] узнает, какое из «представлений» вызвало событие?

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

Заранее спасибо.

1 Ответ

1 голос
/ 25 апреля 2011

Распознаватели жестов - это хороший путь. Это объекты, которые вы можете прикрепить к любому представлению (то есть любому объекту, чей класс наследует от UIView). Вы прикрепляете распознаватель жестов для каждого типа сенсорного жеста, на который хотите ответить, а затем пишете метод селектора, чтобы обрабатывать его любым удобным вам способом.

Apple Руководство по обработке событий для iOS, глава 3 , дает довольно хорошее объяснение, а также код для создания распознавателей жестов, а также код для методов выбора для обработки сенсорных событий. Когда вы немного познакомитесь с ними, они довольно просты в использовании и требуют довольно мало кода.

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