表格单元格中的多个可自动调整大小的UILabel

时间:2013-08-28 12:44:37

标签: ios objective-c uitableview uilabel

我正在尝试将三个UILabel放在iOS6中的一个表格的单元格中。第一个是数字,在左边,第二个是标题,在第一个旁边,第三个是在单元格右侧的日期。 日期和标题根据文本的长度正确调整大小,但是当标题为长标题时,应在日期之前截断,而不是在日期之前显示。

如何在日期之前截断标题?我也试图设置它的帧宽并使用sizeToFit,但没有效果。

3 个答案:

答案 0 :(得分:0)

试试这个:

myLabel.adjustsFontSizeToFitWidth = YES;

修改

cell.YOURLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin;

选项2

[YOURLabel sizeToFit];

答案 1 :(得分:0)

只需使用此条件扩展TitleLabel:

    titleLabel=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 10, 20)];
    dateLabel=[[UILabel alloc]initWithFrame:CGRectMake(160,0, 160, 20)];
    [self.view addSubview:titleLabel];
    [self.view addSubview:dateLabel];
    titleLabel.text=@"sjlkfdsfjdfkdlfjlkdsjflkdfjkldsfkdjfkljdslkjflkdslkf";
    dateLabel.text=@"fmldf";
    [titleLabel sizeToFit];
    if(titleLabel.frame.origin.x+titleLabel.frame.size.width>dateLabel.frame.origin.x)
    {
      titleLabel.frame=CGRectMake(titleLabel.frame.origin.x, titleLabel.frame.origin.y, 
          dateLabel.frame.origin.x-titleLabel.frame.origin.x-5, 20);
    }
    else
    {
        [titleLabel sizeToFit];
    }

答案 2 :(得分:0)

只需在Interface Builder中将标题标签设置为允许的最大宽度,并将“换行符”选项设置为所需的截断模式。或者您希望最大允许宽度根据日期标签的宽度而变化?