Как бы вы позволили UIGestureRecognizer
из UIView
получать событие касания, но при этом убедиться, что другое, нижележащее/надлежащее UIView
, также получает то же самое событие касания?
Допустим, у меня есть следующий вид-иерархия:
Представления A (синий) и B (красный) являются подвидами одного и того же суперпредставления (серого). Другими словами, они оба братья и сестры, и порядок решает, кто из них покрывает другого.
Вариант 1: вид B (красный) имеет обычный UIButton
в качестве подвида. Вариант 2. Вид A (синий) имеет обычный UIButton
в качестве подвида.
Дан вариант 1 для пояснений: вид A (синий) имеет прикрепленный UITapGestureRecognizer
(или, может быть, даже больше, другие UIGestureRecognizers). Какой был бы самый элегантный подход, чтобы убедиться, что UIButton
действительно получает все касания своего региона, а вид A (синий) получает эти касания своего UITapGestureRecognizer
?
Если это возможно, решение не должно включать расширение класса UIButton
и ручную пересылку любых событий с самой кнопки. Представьте, что представление B будет содержать гораздо больше элементов управления, а не только кнопку. Все эти элементы управления должны каким-то образом позволять представлению A получать прикосновения к его UIGestureRecognizer
.
Я предоставил два варианта, так как мне все равно, какое из этих представлений (A или B) будет первым, пока оба получают касания.
Все мои подходы до сих пор внезапно заходили в тупик. Может быть, индивидуальная цепочка ответчиков была бы хорошим решением? Я продолжаю думать, что во всем стеке UIKit
/UIEvent
/UIResponder
должно быть элегантное решение.