2014-02-21 44 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

回答

相關問題