title: A UITableView contains a multi-line UILabel. sizeToFit on the label works the first time, but sizes the label incorrectly once the cell is redrawn
body: <p>I log info and size the label like this:</p>
  
  <pre><code>NSLog([NSString stringWithFormat:@"before: %@, %f", [item valueForKey:@"item"], itemDescLabel.frame.size.width]);
  [itemDescLabel sizeToFit];
  NSLog([NSString stringWithFormat:@"after: %@, %f", [item valueForKey:@"item"], itemDescLabel.frame.size.width]);
  </code></pre>
  
  <p>At first it is correct and logs data like</p>
  
  <pre><code>before: Nachos, 280.000000
  after: Nachos, 265.000000
  before: Quesadilla, 232.000000
  after: Quesadilla, 229.000000
  </code></pre>
  
  <p>But after scrolling up and down, the labels will obviously be too wide or too narrow, and it logs data like</p>
  
  <pre><code>before: Nachos, 0.000000
  after: Nachos, 967.000000
  before: Quesadilla, 171.000000
  after: Quesadilla, 167.000000
  </code></pre>
  
  <p>I use the method suggested by Apple for loading a custom UITableViewCell from a nib, like</p>
  
  <pre><code>UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
  if (cell == nil) {
      [[NSBundle mainBundle] loadNibNamed:@"ItemCell" owner:self options:nil];
      cell = itemCell;
      itemCell = nil;
  }
  UILabel *itemDescLabel = (UILabel *)[cell.contentView viewWithTag:1];
  </code></pre>