Касания не отменяются при вводе нового контроллера в UINavigationController?

#objective-c #cocoa-touch #ios

#objective-c #cocoa-touch #iOS

Вопрос:

В Objective-C / Cocoa у меня создалось впечатление, что каждый вызов touchesBegan: должен иметь соответствующий вызов touchesEnded: или touchesCancelled: , но это не тот случай, когда UINavigationController запускает новый контроллер представления. В моем тестировании всякий раз, когда нажимается новый VC, в частности, при нажатии кнопки, когда уже перемещается один палец, последний сенсорный вызов в предыдущем VC — touchesMoved : . Ничего не отменяется и не завершается!

Правильно ли это поведение, и если да, то каков наилучший способ справиться с этим? Спасибо!

Комментарии:

1. У меня тоже было такое же впечатление. Просто из любопытства: что происходит после нажатия и продолжения касания экрана? touchesBegan: Вызывается на новом контроллере или касания нигде не регистрируются?

2. Это не похоже на touchesBegan: вызывается.