cell.textLabel not getting resized
<p>I'm trying to create a Settings for our app.  I'm not sure what is happening here.  I have a UITableViewSyleGrouped and in each section of the table, there is 1 row.  For my particular row, it shows the person's name.  If you click on it, then it pushes to a new tableView that has the list of people to choose from, then when you pop back, the label gets updated, but the label is truncated when I go from a smaller name to a bigger name.  I'm trying to create a Settings for our app.  Some of the fields look like:</p>

<pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSUInteger row = [indexPath row];
    if (tableView == _settingsTableView) {
        UITableViewCell *cell = nil;

        NSNumber *aSection = [_tableArray objectAtIndex:indexPath.section];

        if ([aSection integerValue] == SOUNDS)
        {
            cell = [tableView dequeueReusableCellWithIdentifier:@"SwitchCell"];
            if (cell == nil)
            {
                cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"SwitchCell"] autorelease];
            }
            cell.textLabel.text = @"Sounds";
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
            UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectZero];
            cell.accessoryView = switchView;
            [switchView setOn:[[Settings sharedInstance] playSounds] animated:NO]; // initialize value from Settings
            [switchView addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged];
            [switchView release];
        }
        else if ([aSection integerValue] == PERSON) {
            cell = [tableView dequeueReusableCellWithIdentifier:@"PersonCell"];
            if (cell == nil) {
                cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"PersonCell"] autorelease];
            }
            Person *p = [_personArray objectAtIndex:row];
            cell.textLabel.text = [NSString stringWithFormat:@"%@ %@", p.firstName, p.lastName];
                        NSLog(@"cL: %@", NSStringFromCGRect(cell.textLabel.frame));
            cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
        }
  return cell;
}
</code></pre>

<p>My PERSON section gives the user the ability to change People.  That code in didSelectRowAtIndexPath is</p>

<pre><code>else {
    Person *p = [_personArray objectAtIndex:row];
    NSUInteger oldRow = [_lastIndexPath row];
    if (oldRow != row) {
        dmgr.currentPerson = p;

        // Put checkmark on newly selected cell
        UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        cell.accessoryType = UITableViewCellAccessoryCheckmark;

        // Remove checkmark on old cell
        UITableViewCell *oldCell = [tableView cellForRowAtIndexPath:_lastIndexPath];
        oldCell.accessoryType = UITableViewCellAccessoryNone;
        [_settingsTableView deselectRowAtIndexPath:_lastIndexPath animated:YES];
        self.LastIndexPath = indexPath;

        // Update the cell 
        NSIndexPath *path = [NSIndexPath indexPathForRow:0 PERSON];
        UITableViewCell *theCell = [_settingsTableView path];

        theCell.textLabel.text = [NSString stringWithFormat:@"%@ %@", p.firstName, p.lastName];
        [theCell setNeedsDisplay];                
        NSLog(@"ceLL: %@", NSStringFromCGRect(theCell.textLabel.frame));

    }
}
</code></pre>

<p>What happens is the label is truncated until I click on the label.  (e.g. John D... instead of John Doe).  Why does the label not get updated?</p>

<p>I tried looking at the frames, and I'm not sure if that has something to do with it or not.  My output is:</p>

<pre><code>cL: {{0, 0}, {0, 0}}
ceLL: {{10, 11}, {76, 21}}
</code></pre>
