2016-03-01 56 views
0

我试图从一个网站使用博客文章并在iPhone应用程序中显示它们。标题和副标题可以是多行的。创建一个多行UILabel

我无法计算出如何根据内容更改标签的高度。

我能够实现这个使用UITextView,但这是正确使用这个对象?

谢谢! 〜M

+0

更多的细节可能会更好。你使用的是tableView吗?如果是这样,你使用的是自定义的tableViewCell Nib,还是仅仅使用默认的单元格? – ZGski

+0

不...没有tableView ...虽然我确实看到很多人都在使用这种方法,但也许我应该重新考虑使用简单的视图。 谢谢! –

回答

2

当然,您可以根据文本动态更改UILabel的高度。只要确保该的UILabel具有numberOfLines = 0,并按照此示例中的答案:ios dynamic sizing labels

对于一个完整的答案,这里是你可以用它做的代码...

计算的高度,你的文本将会出现在您的标签中,然后根据该尺寸设置标签的框架:

//Calculate the expected size based on the font and linebreak mode of your label 
CGSize maximumLabelSize = CGSizeMake(296,9999); 

CGSize expectedLabelSize = [yourString sizeWithFont:yourLabel.font 
        constrainedToSize:maximumLabelSize 
        lineBreakMode:yourLabel.lineBreakMode]; 

//adjust the label the the new height. 
CGRect newFrame = yourLabel.frame; 
newFrame.size.height = expectedLabelSize.height; 
yourLabel.frame = newFrame;