When one of your panels is scrolled, this method would be called, and it can make sure that all the others are kept synchronized.
Handling the touch events does not work 100%. The amount of scrolls in different views may not be in sync always.
I was thinking the flag may be necessary if calling setContentOffset:animated: on the other scroll would trigger another call to the delegate's scrollViewDidScroll: method. Checking the flag could stop the loop. If the flag is set, don't tell the other scroll view to move, because this is a reactionary scrollViewDidScroll.
ScrollViewDidScroll: is called every time the scroll view needs to be redrawn. So in one user interaction this method may be called hundreds of times. This alone would be able to keep the two scroll views in sync.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.