title: UITableView layout not refreshing until scrolled
body: <p>I have created a UISplitViewApplication as my new project. In the potrait mode I have a button that when clicked will drop down a UITableView. It looks something as the following:</p>
  
  <p><img src="https://i.stack.imgur.com/ZiEgb.png" alt="enter image description here"></p>
  
  <p>When I clicked on one of the rows, this UITableView is dismissed. Then when I click again on the Groups button, the layout of the UITableView presented is now all messy:</p>
  
  <p><img src="https://i.stack.imgur.com/to9cR.png" alt="enter image description here"></p>
  
  <p>However, when I scroll the TableView so that some of the rows are reloaded again, those that are reloaded are then formatted fine. Why is this and how do I fix this?</p>
  
  <p>Here's my cell for row at index path:</p>
  
  <pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      static NSString *CellIdentifier = @"MyCell";
  
      MyCell *cell = (ConvoreCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
      //if (cell == nil) {
          NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:nil options:nil];
          for (id currentObject in topLevelObjects){
              if ([currentObject isKindOfClass:[UITableViewCell class]]){
                  cell = (MyCell *) currentObject;
                  break;
              }
          }
          cell.delegate = self;
     // }
  
  
      if ([posts count] &gt; 0){
           cell.star.hidden = YES;
  
          [lazyImages addLazyImageForCell:cell withIndexPath:indexPath];
          cell.title.text = [[posts objectAtIndex:indexPath.row] message];
  
          cell.detailed.autoresizesSubviews = YES;
          cell.detailed.text = [NSString stringWithFormat:@"%@", [[[posts objectAtIndex:indexPath.row] creator] username]];
  
  
          if ([[[posts objectAtIndex:indexPath.row] embeds] count] != 0){
              NSString * URL = [[[[posts objectAtIndex:indexPath.row] embeds] objectAtIndex:0] url];
              float height = [[(Embed * )[[[posts objectAtIndex:indexPath.row] embeds] objectAtIndex:0] height] floatValue];
              float width =  [[(Embed * )[[[posts objectAtIndex:indexPath.row] embeds] objectAtIndex:0] width] floatValue];
              [cell.embed setFrame:CGRectMake(cell.detailed.frame.origin.x, cell.detailed.frame.origin.y + 15, width, height)];
              cell.embed.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:URL]]];
          }
  
          if ([[[posts objectAtIndex:indexPath.row] stars] count] != 0){
              cell.star.hidden = NO;
              cell.star_creator.text = [(Login *)[[[[posts objectAtIndex:indexPath.row] stars] objectAtIndex:0] user] username];
          } 
  
      }
      return cell;
  }
  
  - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      NSString *cellText =[[posts objectAtIndex:indexPath.row] message];
      UIFont *cellFont = [UIFont fontWithName:@"Arial" size:14.0];
      CGSize constraintSize = CGSizeMake(600.0f, MAXFLOAT);
      CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
      float height = 0.0;
  
      if ([[[posts objectAtIndex:indexPath.row] embeds] count] != 0)
          height =  [[[[[posts objectAtIndex:indexPath.row] embeds] objectAtIndex:0] height] floatValue];
  
      if (labelSize.height + 20 + height &lt; 48)
          return 55;
      else
          return labelSize.height + height + 48;
  
  }
  </code></pre>