172 похожих чатов

Кто может подсказать, почему в данном случае вызывается только функция

buttonPressed (к ней привязана кнопка). Разве gesture recognizer не должен захватывать нажатия первым?

5 ответов

14 просмотров

нет, не должен. если где-то еще есть тап, то он будет первым

Ilya-Salatyuk Автор вопроса
Denis Kim
нет, не должен. если где-то еще есть тап, то он бу...

Хорошо, то что UIControl получает события первым я понял. Но почему тогда в данном случае, при установке cancelsTouchesInView = false порядок функций как на скриншоте? Как это свойство влияет на доставку событй распознавателю тапов, если uicontrol имеет в принципе первый получает события? Не очень очевидный момент просто

Ilya Salatyuk
screenshot Хорошо, то что UIControl получает события первым я...

ну вроде как gesture первый всегда должен получать события нажатия Дока: https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/using_responders_and_the_responder_chain_to_handle_events

Ilya-Salatyuk Автор вопроса
Ilya Salatyuk
screenshot Хорошо, то что UIControl получает события первым я...

Насколько помню эвенты UIControl выполняются через UIApplication.sendAction т.е. примерно так сначала стандартная цепочка: 1) определился firstResponder 2) получил эвент (можно перегрузить touchesBegan чтобы убедится что он первый выполнится) 3) и дальше по цепочке эвент будет передаваться в зависимости от настроек его обработчиков после если добавлен обработчик у UIControl addTarget(), то вновь определяется first responder, и уже эвент посылается через UIApplication.sendAction

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта