Бесконечный цикл пересылки событий UIView

Я создал подкласс UIView, в котором я перехватываю все касания, проверяю определенные условия и, если они не выполняются, перенаправляю касания в соответствующее подпредставление. Проблема в том, что если подпредставление не перехватывает прикосновение, оно перенаправляется прямо вверх по цепочке респондентов к моему представлению, здесь я перенаправляю его обратно в подпредставление и так далее. Как я могу предотвратить это?


person denizen    schedule 12.02.2011    source источник
comment
как вы перенаправляете событие касания?   -  person Anurag    schedule 12.02.2011
comment
Вызов [super hitTest: withEvent:] для получения соответствующего представления, а если это не self, вызов [aView touchesMoved: withEvent:].   -  person denizen    schedule 12.02.2011


Ответы (1)


Цепочка респондентов предназначена для передачи событий супервизорам. Я бы сделал так, чтобы подпредставления выборочно обрабатывали события (проверьте противоположные условия), чтобы события могли быть перенаправлены в суперпредставление, когда оно должно обрабатывать событие.

Однако, если только суперпредставление может проверить условие, подпредставления должны будут обрабатывать все события, которые отправляет суперпредставление (по крайней мере, не вызывать процедуру обработки событий UIView, которая перенаправляет события в суперпредставления).

person MHC    schedule 12.02.2011