What you can do is subclass UIView and skip the hit test, thus passing all the touch events to the table view below it, which allows you to use gesture scrolling inside the image without moving it.
In your implementation:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { UIView *view = [super hitTest:point withEvent:event]; if (view == self) { view = nil; } return view; }
Put your UIImageView in the table view, i.e. add it to the table supervisor (make sure that user interaction is enabled, and set the class in the storyboard to your subclass.
source share