You can find the location in the view and add a scroll to it. Now your next problem is that -(void)touchesBegan:touches:event will not be called because events will be sent to your scrollview. This can be eliminated by subclassing your UIScrollView and scrolling through the touch events to the next responder (your view).
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { // Position of touch in view UITouch *touch = [[event allTouches] anyObject]; CGPoint touchPoint = [touch locationInView:self.view]; // Scroll view offset CGPoint offset = scrollView.contentOffset; // Result CGPoint scrollViewPoint = CGPointMake(touchPoint.x, touchPoint.y + offset.y); NSLog(@"Touch position in scroll view: %f %f", scrollViewPoint.x, scrollViewPoint.y); }
source share