title: Updating UITableViewCell subview's frame has no effect
body: <p>I have a custom (subclassed) UITableViewCell which contains a few UILabels, a UIButton, and a NSBlock as properties. This subclass is called <code>ExploreCell</code>. Two of the properties are UILabels and are named <code>waitLabel</code> and <code>lastUpdateLabel</code> respectively. </p>
  
  <p>When the contents of <code>lastUpdateLabel</code> is nil or is is blank i.e. <code>@""</code>, I need to move the <code>waitLabel</code> vertically down (on the Y axis) 10 pixels. I am doing this by checking some objects in an <code>NSDictionary</code> as shown in the following code which I have put in the <code>-tableView:cellForRowAtIndexPath:</code> method.</p>
  
  <pre><code>CGRect frame = cell.waitLabel.frame;
  
  if ([[venue allKeys] containsObject:@"wait_times"] &amp;&amp; ([[venue objectForKey:@"wait_times"] count] &gt; 0)) {
  
      frame.origin.y = 43;
  
  }
  
  else {
      frame.origin.y = 53;
  }
  
  [cell.waitLabel setFrame:frame];
  </code></pre>
  
  <p>However, this code intermittently works, and having tried to call <code>-setNeedsLayout</code>, still does not work. By intermittently, I mean that after scrolling a few times, one or two of the cells that match the criteria to move the cell's origin down 10 pixels, actually have their <code>waitLabel</code>'s frame changed.</p>
  
  <p>Please can you tell me why this is occurring, and how it can be fixed. </p>