title: viewForHeaderInSection is called only once in UITableView
body: <p>I've exhausted the Google on this one, though I'm sure it's something quite embarrassingly simple.</p>
  
  <p>I am trying to create a UITableView representing 25 (let's say) objects in 25 sections of 1 row each.</p>
  
  <p>The custom cells I am creating show up fine (all 25 of them, in the right order). I would like a section header view to be displayed above each object.</p>
  
  <p>The problem is that only one section header view (the first) is being displayed.</p>
  
  <p>Judicious NSLogging tells me that viewForHeaderInSection is called only once, although heightForHeaderInSection is called 2x per object. I am returning 25 from numberOfSectionsInTableView, and 1 from numberOfRowsInSection.</p>
  
  <p>I am constructing a UIView in viewForHeaderInSection by doing <code>UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, viewHeight)]</code> and then adding a UILabel and a UIButton. I am not subclassing UITableViewHeaderFooterView. Not sure if this makes a difference here.</p>
  
  <p>Any ideas?</p>
  
  <p>Relevant code:</p>
  
  <p>Number of sections and rows:</p>
  
  <pre><code>- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  {
      return [self.objects count];
  }
  
  - (NSInteger)numberOfRowsInSection:(NSInteger)section
  {
      return 1;
  }
  </code></pre>
  
  <p>Height and Cell for rows:</p>
  
  <pre><code>- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      return 390;
  }
  
  - (UITableViewCell *)tableView:(UITableView *)tableView
           cellForRowAtIndexPath:(NSIndexPath *)indexPath
                          object:(PFObject *)object
  {
      static NSString *CellIdentifier = @"CustomCell";    
      CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
  
      // add custom content to cell
  
      return cell;
  }
  </code></pre>
  
  <p>Height and view for Headers:</p>
  
  <pre><code>- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
  {
      return 60;
  }
  
  - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
  {
      NSLog(@"in viewForHeaderInSection %ld", (long)section); // I only see this once
      NSLog(@"return view for section %ld", section);         // this is 0 when I see it
  
      // gather content for header
      UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, viewHeight)];
      // add content to header (displays correctly)
  
      return headerView;
  }
  </code></pre>