title: iOS UITableView is not scrolling after adding cells
body: <p>I have a UITableView that represents playable rounds in a game. On first launch, only two cells are shown in the tableView. As the user beats levels, more and more rows are added to the tableView. I reloadData every time the tableView is displayed (which happens each time the user beats a level).</p>
  
  <p>Once the tableView contains enough cells to require scrolling, the tableView will not scroll and where the user left it. It will scroll to reveal that the cells are down below, but when the user releases their finger, the tableView bounces back, not allowing the user to interact with those cells that require scrolling to see. After completing another level and returning back to the tableView, the view will scroll properly.</p>
  
  <p>When the scrolling issue exists, it is as though the tableView does not realize that it is big enough to require scrolling, so it bounces back to its original position, despite the fact that there are cells that are displayed down below when the user attempts to scroll.</p>
  
  <p>I do not implement the heightForRowAtIndexPath or heightForHeaderInSection methods in the tableView's delegate, so that should not be interfering. I have searched this site and Google for similar issues, and have tried a few things including setting the contentSize, but have been unsuccessful.</p>
  
  <p>Is there any reason for this lack of scrolling? Or, more importantly, is there a way to fix it? Thanks!</p>
  
  <p>EDIT:
  I see some comments asking about the frame. I logged the frame of the view the table is in, the frame of the tableView itself, and the tableView's content size in the viewDidAppear method of the view the table i in.</p>
  
  <p>Here are the results when the view appears the time before scrolling is necessary. Scrolling behavior is as expected; the user can scroll past the visible area, and it bounces back.</p>
  
  <pre><code>view.frame: {{0, 20}, {320, 460}}
  tableView.frame: {{0, 145}, {320, 315}}
  tableView.contentSize: {320, 308}
  </code></pre>
  
  <p>Here are the results when the view appears when scrolling should be necessary. Scrolling will allow the cells below to appear, but when the user releases their finger, it bounces back when it should not.</p>
  
  <pre><code>view.frame: {{0, 20}, {320, 460}}
  tableView.frame: {{0, 145}, {320, 315}}
  tableView.contentSize: {320, 352}
  </code></pre>
  
  <p>Note that the contentSize.height did change by 44, as it should have after a new cell was added. The contentSize.height is now larger than tableView.frame.height, but the scrolling behavior does not reflect this.</p>