单元格文本标签更改框架大小

时间:2010-10-15 17:03:10

标签: iphone uitableview

我有一个使用UITableViewCellStyleSubtitle显示单元格的表:

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

我的问题是,有时标题比单元格长,覆盖日期。 那么有没有办法可以缩小cell.textlabel,以便它不允许它覆盖日期。

这是我的单元格代码

- (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;

}

1 个答案:

答案 0 :(得分:1)

创建您自己的自定义UITableViewCell子类并手动排列标签。目前,您正在使用内置单元格类型(UITableViewCellStyleSubtitle),然后将日期子视图添加到其中,这会将标题标签置于您的权限范围之外。