У меня есть много пользовательских UIView в контейнере, которые я анимация после того, как пользователь их перемещает. Чтобы отслеживать их движение, я получаю текущую позицию с touchesBegan:
и обновляю позицию с touchesMoved:
.touchsMoved звонил без прикосновенийBegan
Иногда, особенно если я переехал вид совсем недавно (и он все еще может быть анимировать обратно в исходное положение), если я начну перетащив другой селектор просмотра touchesBegan:
не будет называться, но touchesMoved:
и touchesEnded:
будет , Как можно вызывать touchesMoved:
и touchesEnded:
без touchesBegan:
первый вызов на вид?
Мне показалось, что я помню, как читал, что прикосновение к Бегану было гарантировано, но я думаю, что я забыл. Я регистрирую каждое событие касания, и когда возникает ошибка, он никогда не регистрирует touchsBegan. Если я не смогу найти лучшее решение, я просто буду держать флаг, чтобы указать, когда были вызваныBegan, и выполняются только действия touchesMoved и touchesEnded, когда этот флаг установлен. – Ned