Я запускаю анимированное увеличение при прикосновении к изображению, а затем уменьшаю его до нормального размера, когда оно отпускается. При использовании setAnimationBeginsFromCurrentState:YES эффект масштабирования получается приятным и плавным, если вы поднимете палец во время анимации.
Однако то, что я хочу сделать, это «заблокировать» больший размер на месте, если вы коснулись изображения достаточно долго, чтобы анимация завершилась, но позволить ему уменьшиться, как обычно, если вы отпустите преждевременно.
Есть ли способ узнать, выполняется ли в данный момент анимация или завершена ли конкретная анимация?
Я полагаю, что, вероятно, смогу сделать это с помощью вызова executeSelector:afterDelay: touchesStarted с задержкой, равной продолжительности анимации, и отменить ее, если touchesEnded наступит слишком рано, но я не могу представить, что это лучший способ...?