title: Fade in/out UIScrollView's content like Mobile Safari does in its tab
body: <p><strong>NOTE: I added my new solution at the UPDATE answer below.</strong></p>
  
  <p>I try to recreate the effects we saw in Mobile Safari's tab on iPhone/iPod touch. </p>
  
  <p>Basically, it's a UIScrollView that holds 4 reusable UIView (acting like ring buffer), and scrolls horizontally. When scrolling, the UIView's opacity will fade in/out seamlessly with offset.</p>
  
  <p>Currently, I do all the dirty job in <code>- (void)scrollViewDidScroll:(UIScrollView *)scrollView</code>. Such as getting the contentOffset from UIScrollView, determine the pageingation, calculate the delta between contentOffset and each UIView positions, and decide/set the alpha value of each UIView at the moment when <code>scrollViewDidScroll:</code> was called. </p>
  
  <p>And it works, performance is okay, everything runs smoothly, but the only problem is too much calculating. </p>
  
  <p>I tried UIView's <code>beginAnimations:</code> and <code>commitAnimations:</code>, but it's useless in <code>scrollViewDidScroll:</code>, since 1) the new alpha value still have to be calculate by myself, and 2) scrollViewDidScroll: kept called when scrolling, it's meaningless to do the animation here. Is there any way to rewrite this part with Core Animation? So I don't have to do the math myself on alpha value of each UIView, instead, I can left whole works to Core Animation.</p>