Это потому, что ios помещает ваш анимационный вид в целевую позицию при запуске анимации, но рисует его на пути. Поэтому, если вы нажимаете на вид во время движения, вы фактически нажимаете где-то вне его рамки.
В инициализации вашего анимационного представления установите для userInteractionEnabled значение NO. Таким образом, сенсорные события обрабатываются суперпредставлением.
self.userInteractionEnabled = NO;
В методе touchesBegan вашего суперпредставления проверьте положение презентации в анимирующем представлении. Если они совпадают с позицией касания, перенаправьте сообщение touchesBegan в это представление.
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
CGPoint point = [[touches anyObject] locationInView:self.view];
CGPoint presentationPosition = [[animatingView.layer presentationLayer] position];
if (point.x > presentationPosition.x - 10 && point.x < presentationPosition.x + 10
&& point.y > presentationPosition.y - 10 && point.y < presentationPosition.y + 10) {
[animatingView touchesBegan:touches withEvent:event];
}
}