2

sizeToFit方法UILabel不适用于cellForRowAtIndexPath.

问题是我需要一些细胞看起来像这样: 在此处输入图像描述

和其他看起来像这样: 在此处输入图像描述

解决方案是什么?

谢谢

4

2 回答 2

1

sizeToFit 方法在在情节提要中禁用自动布局后,在 cellForRowAtIndexPath 方法中执行它应该做的事情。

于 2014-05-15T10:06:29.557 回答
0

我有同样的问题,我用这种方式解决了:

-(CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UIFont *font = [UIFont fontWithName:@"Roboto-Regular" size:14];
    CGSize textSize = [[eventDetails objectForKey:[detailTitle objectAtIndex: indexPath.row]] sizeWithFont:font];
    CGFloat strikeWidth = textSize.width;
    if(strikeWidth <280) // if the length is lower than max width
    {
        return  30; // normal height of cell
    }
    else
    {
        return 30 + ((int) strikeWidth/280 )*15;// if not give the cell the height you want
    }
}

并且不要忘记将标签的行数设置为0[label setNumberOfLines:0];

于 2014-05-14T13:50:21.820 回答