У меня есть элемент пользовательского интерфейса. Когда я нажимаю на него, он оживляет до промежуточного состояния. Нажатие в любом месте на экране должно отменить взаимодействие, в то время как другое нажатие на элемент пользовательского интерфейса должно продолжаться.
Я реализовал это, используя защитное представление (подпредставление окна и над каждым другим подпредставлением), а затем перерисовывая элемент в защитном виде перед анимацией, но мне любопытно, что другие люди думают о том, чтобы делать это, это может быть чище.
Я думал о том, чтобы использовать защитное окно вместо вида и связываться с hitTest:withEvent:
и pointInside:forEvent:
. Проблема с этими двумя заключается в том, что суперпредставление элемента не занимает весь экран.
Это звучит как идеальный вариант использования для того, что exclusiveTouch
звучит (все сенсорные события в любом месте переходят в это представление), но на самом деле это не так (все сенсорные события начинаются в этом представлении только идут к этому мнению, а не к другим представлениям одновременно).
Мысли