2010-10-15 70 views
0

我有使用UITableViewCellStyleSubtitle显示细胞的表:UICell为textLabel改变帧大小

============================================================= 
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

创建自己的自定义UITableViewCell子类,手动整理标签的代码。目前,您正在使用内置的单元格类型(UITableViewCellStyleSubtitle),然后将日期子视图添加到该单元格中,从而将标题标签放在您的权限范围之外。