我有一个自定义的UITableViewCell,它有一个动态高度的UILabel,具体取决于它的内容。
UILabel的大小调整完美,但UILabel没有正确显示它的内容。内容包含在1或2行中,即使它在It的框架中有空格。
但是如果我滚动UITableView并返回到那些单元格,一切都会完美显示。
我希望单元格从头开始正确显示而不滚动。
以下是滚动之前和之后的一些屏幕截图:
以下是我用来调整UILAbel大小的代码:
CGSize expectedLabelSize = [titleText sizeWithFont:titleLabel.font
constrainedToSize:maximumLabelSize
lineBreakMode:titleLabel.lineBreakMode];
CGRect newFrame = titleLabel.frame;
newFrame.origin.y = 10;
newFrame.size.height = expectedLabelSize.height;
titleLabel.frame = newFrame;
accumulatedY += (expectedLabelSize.height + PADDING);
expectedLabelSize = [empresatext sizeWithFont:empresaLabel.font
constrainedToSize:maximumLabelSize
lineBreakMode:empresaLabel.lineBreakMode];
newFrame = empresaLabel.frame;
newFrame.size.height = expectedLabelSize.height;
newFrame.origin.y = accumulatedY;
empresaLabel.frame = newFrame;
accumulatedY += (expectedLabelSize.height + PADDING);
答案 0 :(得分:2)
我通过在“cellForRowAtIndexPath”中以编程方式创建UILabel来解决问题,正如此主题中所建议的那样:UILabel in a UITableViewCell With Dynamic Height
仍然很感兴趣为什么这不适用于在InterfaceBuilder中创建的UILabel:/