title: dynamic UITableViewCell height
body: <p>I am trying to get my cell to dynamicly change height depending on how much text is in the cell.. Currently I have the words wrapping.. but as soon as there is to much content for the cell (if it goes to a 3rd line) you cannot see anything past the 2nd line.</p>
  
  <p>This is what I have so far.. hopefully someone can see if I am missing something or doing something wrong... any help would be appreciated.</p>
  
  <pre><code> - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      static NSString *CellIdentifier = @"Cell";
      UILabel *label = nil;
  
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
      if (cell == nil) {
          cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
  
          label = [[UILabel alloc] initWithFrame:CGRectZero];
          [label setLineBreakMode:UILineBreakModeWordWrap];
          [label setMinimumFontSize:FONT_SIZE];
          [label setNumberOfLines:0];
          [label setFont:[UIFont systemFontOfSize:FONT_SIZE]];
          [label setTag:1];
  
          [[cell contentView] addSubview:label];
      }
  
       //    //Display cells with data that has been sorted from startSortingTheArray
  NSArray *keys = [self.letterDictionary objectForKey:[self.sectionLetterArray objectAtIndex:indexPath.section]];
  NSString *key = [keys objectAtIndex:indexPath.row];
  
  CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f);
  
  CGSize size = [key sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
  
  if (!label)
      label = (UILabel*)[cell viewWithTag:1];
  
  [label setText:key];
  [label setFrame:CGRectMake(CELL_CONTENT_MARGIN, CELL_CONTENT_MARGIN, CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), MAX(size.height, 44.0f))];
  
  
  
  
  
  
  //Applise current key value to cell text label
  //cell.textLabel.text = key;
  return cell;
  }
  
  //Cell size for word wrapping.
  - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
  {
  
      //Display cells with data that has been sorted from startSortingTheArray
      NSArray *keys = [self.letterDictionary objectForKey:[self.sectionLetterArray objectAtIndex:indexPath.section]];
      NSString *key = [keys objectAtIndex:indexPath.row];
  
      NSLog(@"%@", key);
  
      CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f);
  
      CGSize size = [key sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
  
      CGFloat height = MAX(size.height, 44.0f);
  
      return height + (CELL_CONTENT_MARGIN * 2);
  }
  </code></pre>
  
  <p>Update the code above is now a working version.. for me anyway :)</p>