Представления в моем приложении для iPad ведут себя так, как будто они предотвращают срабатывание распознавателей жестов своего суперпредставления, когда пользователь инициирует такой жест в этом представлении.
Ожидается ли это?Как я могу удалить это экранирующее поведение?Каковы хорошие практики для отладки распознавателей жестов?
Более подробно:
Основной вид «холста» моего приложения позволяет пользователю добавлять формы к нему «длинным двойным касанием».Я прикрепил распознаватель жестов для таких жестов к основному виду.Это работает очень хорошо: основной вид вызывается и реагирует, добавляя фигуру к основному виду.
Фигуры реализуются как подпредставления основного вида.Когда пользователь дважды щелкает по основному виду, мой код создает подпредставление формы и добавляет его к основному виду.Виды фигур можно перемещать с помощью длинного распознавателя одним касанием.Поэтому я также прикрепляю распознаватель жестов для длинных однократных нажатий к каждому виду фигуры.Это работает очень хорошо: представление формы вызывается и позволяет пользователю перемещать его на холсте.
Однако, когда пользователь долго-дважды нажимает на представление формы, ничего не происходит: представление формы не вызывается, что ожидается, поскольку он не имеет распознавателя жестов для длинных двойных нажатий.Но основной вид тоже не называется.Я думал, что, поскольку жест не распознается представлением формы, он будет распространяться в цепочке респондента до основного представления.Но этого не происходит.
Мое намерение состоит в том, чтобы позволить пользователю добавлять перекрывающиеся фигуры к основному виду, чтобы долгое двойное нажатие на фигуру также добавляло новую фигуру к основному виду.
Что я мог пропустить?
Конечно, я могу добавить распознаватель с длинным двойным касанием, чтобы сформировать виды, и оттуда либо перенаправить жест на главный вид, либо обработать жест.прямо так, как я делаю на главном экране.
Но это звучит расточительно, и что более важно, я хотел бы понять поведение.
Спасибо за любые предложения.