views:

67

answers:

1

Hello, I have a table that displays cell using UITableViewCellStyleSubtitle:

=============================================================
Title:This is the title of something        Date:Custom label
Subtitle:breif description
=============================================================

My Problem is that sometimes the titles are longer then the cell and cover over the date. So is there a way i can shrink cell.textlabel so that it won't allow it to cover the date.

Here is my code for cell

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier  = @"Cell";



UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {
    cell = [[[UITableViewCell alloc] 
             initWithStyle:UITableViewCellStyleSubtitle
             reuseIdentifier:CellIdentifier] 
            autorelease];

    CGRect frame;

    if (self.interfaceOrientation == UIInterfaceOrientationLandscapeLeft || self.interfaceOrientation == UIInterfaceOrientationLandscapeRight)
        frame.origin.x = 370;
    else
        frame.origin.x = 220;

    frame.origin.y = 15;
    frame.size.height = 15;
    frame.size.width = 80;

    UILabel *dateLabel = [[UILabel alloc] initWithFrame:frame];
    dateLabel.tag = 1;
    [cell.contentView addSubview:dateLabel];
    [dateLabel release];
}


    Document *d = [documentList objectAtIndex:indexPath.row];

    UILabel *dateLabel = (UILabel *) [cell.contentView viewWithTag:1];
    dateLabel.text = [d date];
    dateLabel.textColor = [UIColor blackColor];
    [dateLabel setFont:[UIFont fontWithName:@"Arial" size:12]];

    cell.textLabel.textColor = [UIColor blackColor];
    [cell.textLabel setFont:[UIFont boldSystemFontOfSize:13]];
    cell.textLabel.text = [d title];

    cell.detailTextLabel.textColor = [UIColor blackColor];
    [cell.detailTextLabel setFont:[UIFont fontWithName:@"Arial" size: 10]];
    cell.detailTextLabel.text = [d inst];

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;


return cell;

}

A: 

Create your own custom UITableViewCell subclass and arrange your labels manually. Currently, you're using a built-in cell type (UITableViewCellStyleSubtitle) and then adding your date subview to it, which puts the title label out of your purview.

Shaggy Frog