Как указано, -accelerometer:didAccelerate:
будет срабатывать всякий раз, когда акселерометр обнаруживает изменение ускорения. Следовательно, во время вашего наклона, вероятно, этот метод будет выполняться десятки раз. Но каждый раз, когда он выполняется, вы сбрасываете анимацию , поэтому чистый эффект такой, как будто никакой анимации не произошло.
Вы должны (1) проанализировать acceleration
, чтобы проверить, действительно ли он наклоняется, и (2) проверить [flap isAnimating]
и не сбросить анимацию, если YES
.