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