title: Auto Layout on UITableView header
body: <p>I've been searching for a clear answer on how to add auto layout to a UITableView.  So far, my code looks like:</p>
  
  <pre><code>- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
      UINib *nib = [UINib nibWithNibName:@"HomeHeaderView" bundle:nil];
      UIView *headerView = (UIView *)[nib instantiateWithOwner:self options:nil][0];
      [headerView.layer setCornerRadius:6.0];
      [headerView setTranslatesAutoresizingMaskIntoConstraints:NO];
  
  //    NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(headerView);
  //    NSMutableArray *headerConstraints = [[NSMutableArray alloc] init];
  //    [headerConstraints addObject:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[headerView]-|" options:0 metrics:nil views:viewsDictionary]];
  //        [headerConstraints addObject:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[headerView]-|" options:0 metrics:nil views:viewsDictionary]];
  //    [self.actionsTableView addConstraints:headerConstraints];
  //    [self.view addSubview:headerView];
      tableView.tableHeaderView = headerView;
      [headerView layoutSubviews];
  
      NSLayoutConstraint *centerX = [NSLayoutConstraint constraintWithItem:headerView attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1 constant:0];
      NSLayoutConstraint *centerY = [NSLayoutConstraint constraintWithItem:headerView attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterY multiplier:1 constant:0];
      NSLayoutConstraint *width = [NSLayoutConstraint constraintWithItem:headerView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:0 multiplier:1 constant:300];
      NSLayoutConstraint *height = [NSLayoutConstraint constraintWithItem:headerView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:0 multiplier:1 constant:90];
      [self.view addConstraints:@[centerX, centerY, width, height]];
  
      return headerView;
  }
  </code></pre>
  
  <p>I basically have a nib file for my header view and I want to center that nib in my UITableViewHeader.  I'd like it to grow and shrink accordingly in portrait and landscape orientations.  I'm honestly unsure if I set up the constraint properly.  I was not sure if my <code>toItem</code> was supposed to be the view controller's view, or the tableview itself.  </p>
  
  <p>I also did not know if I was supposed to add the headerview as a subview to either the view controller's view, or the tableview itself.</p>
  
  <p>Or, I wasn't sure if setting tableView.tableHeaderView = headerView was enough.  </p>
  
  <p>I really have no clue what the best practices are for something like this.  I wasn't sure if it all could be done in IB as well.  Currently, with the code you see, I get this error:</p>
  
  <pre><code>'Auto Layout still required after executing -layoutSubviews. UITableView's implementation of -layoutSubviews needs to call super.'
  </code></pre>
  
  <p>It's because of that error, that I added <code>[headerView layoutSubviews]</code></p>
  
  <p>Thoughts on this?  Thanks in advance!</p>