нет, не должен. если где-то еще есть тап, то он будет первым
Хорошо, то что UIControl получает события первым я понял. Но почему тогда в данном случае, при установке cancelsTouchesInView = false порядок функций как на скриншоте? Как это свойство влияет на доставку событй распознавателю тапов, если uicontrol имеет в принципе первый получает события? Не очень очевидный момент просто
ну вроде как gesture первый всегда должен получать события нажатия Дока: https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/using_responders_and_the_responder_chain_to_handle_events
Насколько помню эвенты UIControl выполняются через UIApplication.sendAction т.е. примерно так сначала стандартная цепочка: 1) определился firstResponder 2) получил эвент (можно перегрузить touchesBegan чтобы убедится что он первый выполнится) 3) и дальше по цепочке эвент будет передаваться в зависимости от настроек его обработчиков после если добавлен обработчик у UIControl addTarget(), то вновь определяется first responder, и уже эвент посылается через UIApplication.sendAction
Обсуждают сегодня