title: Keep uitableview static when inserting rows at the top
body: <p>I have a tableView that I'm inserting rows into at the top.</p>
  
  <p>Whilst I'm doing this I want the current view to stay completely still, so the rows only appear if you scroll back up.</p>
  
  <p>I've tried saving the current position of the underlying UIScrollview and resetting the position after the rows have been inserted but this results in a judder, up and down, although it does end up back in the same place.</p>
  
  <p>Is there a good way of achieving this ?</p>
  
  <p>Update: I am using beginUpdate, then insertRowsAtIndexPath, endUpdates. There is no reloadData call.</p>
  
  <p>scrollToRowAtIndexPath jumps to the top of the current cell (saved before adding rows).</p>
  
  <p>The other approach I tried, which ends up in <strong>exactly</strong> the right pace, but with a judder is.</p>
  
  <pre><code>save tableView currentOffset. (Underlying scrollView method)
  Add rows (beginUpdates,insert...,endUpdates) 
  reloadData ( to force a recalulation of the scrollview size )
  Recalculate the correct new offset from the bottom of the scrollview
  setContentOffset (Underlying scrollview method)
  </code></pre>
  
  <p>Trouble is the reloadData causes the scrollview/tableview to start scrolling briefly, then the setContentOffset returns it to the correct place.</p>
  
  <p>Is there a way of getting a tableView to work out it's new size without starting display ?</p>
  
  <p>Wrapping the whole thing in a beginAnimation commitAnimation doesn't help much either.</p>
  
  <p>Update 2: This can clearly be done - see the offical twitter app for one when you pull down for updates.</p>