Где должен размещаться код обработки касания


Приложения для Ipad, где должен размещаться код обработки касания

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


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


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


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


В связи с этим возникает вопрос, принадлежит ли код представлению или контроллеру представления?

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


  • Дата: 17-01-2015, 13:05

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

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



Отзывы о статье: Где должен размещаться код обработки касания

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