适合的UILabel尺寸不起作用

时间:2014-04-25 07:53:45

标签: ios uilabel

这就是我正在做的事情。我不是动态创建标签,只是从对象库中选择。只有当我静态增加标签的高度时我才会工作,但我不知道在运行时

[self.lblDescription setText:@"This is going to be a test description but a very big description that should increase in height"];
[self.lblDescription sizeToFit];

标签不在下一行。但是,只要标签的左侧到达屏幕右侧,它就会剪切它

根据答案,我尝试了以下但不起作用:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.lblDescription setText:@"This is going to be a test description but a very big description that should increase in size"];
    self.lblDescription.numberOfLines = 0;
    [self.lblDescription sizeToFit];
}

我也尝试过设置 -

[self.lblDescription setLineBreakMode:NSLineBreakByWordWrapping];

在致电[self.lblDescription sizeToFit];但没有工作

之前

3 个答案:

答案 0 :(得分:4)

检查 numberOfLines 属性

self.lblDescription.numberOfLines = 0;

编辑:也需要更改高度(评论说)。

NSDictionary *attributesDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                              [UIFont fontWithName:@"Helvetica Neue" size:19], NSFontAttributeName,
                                              nil];
CGRect expectedLabelFrame = [text boundingRectWithSize:CGSizeMake(571, 500)
                                               options:NSStringDrawingUsesLineFragmentOrigin
                                            attributes:attributesDictionary
                                               context:nil];
// Adjust the yourLabel the the new height.
CGRect newFrame = yourLabel.frame;
newFrame.size.height = expectedLabelFrame.size.height;
yourLabel.frame = newFrame;

答案 1 :(得分:1)

adjustsFontSizeToFitWidth 属性设置为true对我有用。

尝试

self.lblDescription.adjustsFontSizeToFitWidth = true

(默认情况下设置为 false

答案 2 :(得分:0)

我发现在使用带有UILabel的sizeToFit时,在InterfaceBuilder中需要将Autoshrink属性从“Fixed Font Size”更改为“Minimum Font Size”。我通常会将其值设置为0.5,以确保其正常工作。