Мультисенсорная архитектура


Технологии iPod, мультисенсорная архитектура

Если первый реагирующий элемент не обрабатывает событие, он передает его своему контроллеру представления. Если же контроллер представления не обрабатывает событие, оно передается родительскому представлению реагирующего элемента. Если же и родительское представление не реагирует на событие, то оно передается контроллеру родительского представления, при условии, что таковой имеется. Таким образом, событие распространяется вверх по иерархии представлений, где каждому представлению и его контроллеру предоставляется возможность обработать событие. Если событие доходит до вершины иерархии представлений, так и оставшись необработанным, оно передается окну приложения. Если же оно не обрабатывается и в окне приложения, то передается объекту класса UIApplication данного приложения. Если и этот объект не реагирует на событие, с ним вежливо прощаются.


Этот процесс важен по целому ряду причин. Во-первых, он определяет порядок обработки жестов. Допустим, пользователь смотрит на таблицу, отображаемую на экране, и скользит пальцем по ее строке. Какой объект должен обрабатывать такой жест?


Если такое скольжение пальцем по экрану оказывается в пределах действия представления или элемента управления, подчиненного по отношению к ячейке табличного представления, это представление или элемент управления получает возможность отреагировать на подобный жест. В противном случае эту возможность получает ячейка табличного представления. В таком приложении, как Mail, где скольжение пальцем по экрану может быть использовано для удаления сообщения, ячейке табличного представления, вероятно, требуется проверить, содержит ли данное событие проводочный жест. Большинство ячеек табличного представления не реагируют на жесты. В таком случае событие распространяется вверх к табличному представлению и далее по цепочке реагирующих элементов до тех пор, пока не достигнет ее конца.


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

Вернемся к ячейке табличного представления в приложении Mail. Нам, конечно, неизвестен внутренний механизм работы этого стандартного приложения, но допустим, что ячейка табличного представления обрабатывает удаляющее скольжение пальцем по экрану, и только этот жест. Для этой цели в данной ячейке должны быть реализованы методы, связанные с получением событий касания (подробнее об этом — в следующем разделе), чтобы иметь возможность проверить, содержит ли данное событие скольжение. Если оно содержит такой жест, ячейка табличного представления предпринимает соответствующее действие, а событие не распространяется дальше.


  • Дата: 16-01-2015, 23:15

Предыдущие статьи сайта:

Понравилась статья? Ставь лайки, рассказывай друзьям!



Отзывы о статье: Мультисенсорная архитектура

Технологии, секреты и фишки Apple: Iphone, iPad, iPod