创建多行UILabel

时间:2016-03-01 16:57:29

标签: xcode swift uilabel

我正在尝试使用网站上的博客帖子并将其显示在iPhone应用中。标题和副标题可以是多行的。

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

我可以使用UITextView实现这一点,但这是否正确使用了这个对象?

谢谢! - M

1 个答案:

答案 0 :(得分: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;