Touching events does not work correctly in iOS during animation. You can touch the views when it sits at the source location, or touch the views when it sits at the destination, but touch events will not trigger correctly for the position the view is in while it is being animated.
To deal with this, you must either turn off the user’s interaction with the view while it is being animated, or forget how to touch things during the animation, or you can cover the animating view with another still view that includes user interaction in this way, intercepts touch events, and then tries to find out if the touch event is in the area of animated views. You can do this using:
CGPoint animatingViewPosition = [(CALayer*)[animatingView.layer presentationLayer] position];
source share