我试图编码一个标签的行数。

我是这样做的:

[lblName setFont:[UIFont fontWithName:@"OpenSans-CondensedLight" size:19]];
[lblName setText:[objet titre]];
[lblName setLineBreakMode:NSLineBreakByWordWrapping];
lblName.numberOfLines = 2;

但是它没有运行,我只有一行...

有人可以帮助我吗?

最佳答案

对于设置动态框架UILabel,请使用以下方法

-(void) setDynamicHeightOfLabel:(UILabel *) myLabel withLblWidth:(CGFloat) width andFontSize:(int) fontSize
{
    CGSize myLabelSize = CGSizeMake(width, FLT_MAX);
    CGSize expecteingmyLabelSize = [myLabel.text sizeWithFont:myLabel.font constrainedToSize:myLabelSize lineBreakMode:myLabel.lineBreakMode];
    CGRect lblFrame = myLabel.frame;
    lblFrame.size.height = expecteingmyLabelSize.height;
    myLabel.frame = lblFrame;
    int addressLine = myLabel.frame.size.height/fontSize;
    myLabel.numberOfLines = addressLine;
}

在上述方法中,您只需要传递标签对象,标签宽度和文本的字体大小,例如...
[self setDynamicHeightOfLabel:lblName withLblWidth:passWidth andFontSize:19];

09-12 09:41
查看更多