Используя контроллеры представления в цепочке респондента
Контроллеры представления являются потомками UIResponder
класс и поэтому способен к обработке всех видов событий. Когда представление не реагирует на данное событие, оно передает то событие своему суперпредставлению, перемещаясь иерархия представления полностью к корневому представлению. Однако, если каким-либо представлением в цепочке управляет контроллер представления, это передает событие объекту контроллера представления прежде, чем передать его до суперпредставления. Таким образом контроллер представления может реагировать на события, не обрабатывающиеся его представлениями. Если контроллер представления не обрабатывает событие, то событие шаги к суперпредставлению представления, как обычно.
Цепочка респондента определяет, как события распространены к приложению
Рисунок 7-1 демонстрирует поток событий в иерархии представления. Предположим, что у Вас есть пользовательское представление, встраивающееся в универсальном объекте представления размера экрана, которым поочередно управляет Ваш контроллер представления. Сенсорные события, поступающие в кадр Вашего пользовательского представления, поставлены тому представлению для обработки. Если Ваше представление не обрабатывает событие, оно передается родительскому представлению. Поскольку универсальное представление не обрабатывает события, оно передает те события своему контроллеру представления сначала. Если контроллер представления не обрабатывает событие, событие далее передается суперпредставлению обобщения UIView
объект, который в этом случае является объектом окна.
Несмотря на то, что Вы не могли бы хотеть обрабатывать сенсорные события в частности в Вашем контроллере представления, Вы могли использовать его для обработки основанных на движении событий. Вы могли бы также использовать его для координирования установки и изменения первого респондента. Для получения дополнительной информации о том, как события распределяются и обрабатываются в приложениях для iOS, посмотрите Руководство по Обработке событий для iOS.