2014-02-21 45 views
0

我有一个自定义的UITableViewCell,它具有动态高度的UILabel,具体取决于它的内容。在UITableViewCell中调整大小的UILabel显示错误

UILabel的大小调整完美,但UILabel没有正确显示它的内容。内容被包含到1或2行,即使它的框架中有空间。

但是如果我滚动UITableView并回到那些单元格,一切都会完美显示。

我希望单元格能够在没有滚动的情况下正确显示。

这里有一些截图从之前和滚动后: UILabels (in blue) before scrolling

UILabel (in blue) after scrolling

下面是我用调整大小的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

对于你应该使用'(的CGRect)boundingRectWithSize首发:(CGSize)大小选项:(NSStringDrawingOptions)选项方面:(NSStringDrawingContext *)context' as'sizeWithFont'已被弃用。此外,它也不会伤害,以确保您的UILabel的线设置为0. – JMarsh

+0

也请确保您正在计算'heightForRowAtIndexPath'单元格的高度,您可以调整标签的大小,但它不适合,如果单元格不知道内容会有多高。 – JMarsh

+0

你究竟在哪里致电你发布的代码? – RaffAl

回答

相关问题