Dos UIScrollViews, desplazamiento sincrónico

Tengo dos UIScrollViews, están uno encima del otro.

UIView | -------------------------- | | UIScrollView1 UIScrollView2 

Me gustaría, trabajar de la siguiente manera. Si desploop UIScrollView2, UIScrollView1 también debería desplazarse por el mismo contenidoOffset. Debe hacerlo sincrónicamente, por lo que usar scrollViewDidScroll no es una opción. ¿Tienen alguna idea, cómo se puede hacer?

Código fuente

  _prContentGridView = [[PRContentGridView alloc] initWithFrame:frame]; _prContentGridView.minimumZoomScale = 0.25; _prContentGridView.maximumZoomScale = 2.0; _prContentGridView.delegate = self; _prBackgroundGridView = [[PRBackgroundGridView alloc] initWithFrame:frame]; [self addSubview:_prBackgroundGridView]; [self addSubview:_prContentGridView]; 

Método del delegado

 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { if (_prContentGridView.scrollEnabled == YES) { CGPoint p = CGPointMake(scrollView.contentOffset.x - _prevousContentOffsetOfContentScrollView.x, scrollView.contentOffset.y - _prevousContentOffsetOfContentScrollView.y); [_prBackgroundGridView setContentOffset:p animated:YES]; } } 

use el método del protocolo UIScrollViewDelegate:

 - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ if (scrollView == UIScrollView1){ UIScrollView2.contentOffset = scrollView.contentOffset; }else{ UIScrollView1.contentOffset = scrollView.contentOffset; } } 

Debe probar este Código, primero Declare IBOutlet en el file .h,

 IBOutlet UIScrollView *FirstScrollView; IBOutlet UIScrollView *SecondScrollView; 

luego testing este código,

 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { if ([scrollView isEqual: FirstScrollView]) { SecondScrollView.contentOffset = CGPointMake(FirstScrollView.contentOffset.x, 0); } else { FirstScrollView.contentOffset = CGPointMake(SecondScrollView.contentOffset.x, 0); } }