Класс UIResponder и роли первого респондента

Я прочитал в справочнике по классу UIResponder:

Есть два основных типа событий: события касания и события движения.

Основными методами обработки событий касаний являются touchesBegan: withEvent :, touchesMoved: withEvent :, touchesEnded: withEvent: и touchesCancelled: withEvent: ...

но в другой статье, Руководстве по обработке событий для iOS, говорится:

Первый респондент - это первое представление в окне, которое получает следующие типы событий и сообщений: события движения, события удаленного управления, сообщения действий, сообщения меню редактирования.

Поэтому я был смущен тем, что во второй заметке говорится, что респондент обрабатывает только четыре события (события касания не были включены), тогда как в первой заметке говорится, что респондент обрабатывает событие касания.

Пожалуйста, дайте мне знать, что я неправильно понимаю.


person hiall    schedule 01.11.2011    source источник


Ответы (1)


Только один респондент одновременно является первым респондентом. Этот респондент получает первое представление о четырех типах событий, которые вы процитировали. События касания всегда сначала переходят к просмотру, к которому прикоснулись. Это объясняется всего через несколько абзацев после процитированного вами абзаца:

Когда система доставляет событие касания, она сначала отправляет его в определенное представление. Для событий касания это представление возвращается hitTest:withEvent:; для событий «встряхивания», событий удаленного управления, сообщений действий и сообщений меню редактирования этот вид является первым респондентом.

person rob mayoff    schedule 01.11.2011
comment
Я думаю, что первая цитата говорит, что ответчик - это представление, потому что представление также является подклассом UIResponder. поэтому UIResponder touchesBegan: withEvent: просто используйте результат UIView из hittest. я прав? - person hiall; 01.11.2011