title: Table View height changes on tap or when popped back to
body: <p>I have a table view that loads 3 custom cells.  1 custom cell has an <code>ImageView</code> in it, and it seems to be the culprit of the <strong>table view moving when any cell is tapped</strong>.</p>
  
  <p>This is what I've tried, but it hasn't worked.</p>
  
  <p>If I use a static value (i.e. <code>return 180</code>) it works just fine, but anything other than that the table view jumps.</p>
  
  <p>Anyone know why?  Thanks!</p>
  
  <pre><code>- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
      id model = self.Model[indexPath.row];
  
      if ([model isKindOfClass:[FR self]]) {
          ListTableViewCell *cellOne = [tableView dequeueReusableCellWithIdentifier:@"1Cell" forIndexPath:indexPath];
          if (!cellOne) {
              cellOne = [[ListTableViewCell alloc] init];
  
              FR *fD = (FR *)model;
              NSString *title = [NSString stringWithFormat:@"%@", fD.title];
              NSString *dateString = [self timeSincePublished:fD.pubDate];
              NSString *description = [self removeHTMLTags:fD.description];
              NSString *link = [NSString stringWithFormat:@"%@", fD.link];
  
              cellOne.labelHeadline.text = title;
              cellOne.labelDescription.text = description;
              cellOne.labelPublished.text = dateString;
          }
  
          // Make sure the cell's frame is updated
          [cellOne setNeedsLayout];
          [cellOne layoutIfNeeded];
  
          CGFloat heightOne = [cellOne.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
          return heightOne + 2;
  
      } else if ([model isKindOfClass:[D self]]) {
  
      // more code
  }
  </code></pre>