根据UILabel帧大小动态确定字体大小

Bla*_*k20 1 uilabel ios

我正在努力解决一个我四处寻找但无法弄清楚的问题.我在UILabel控件内部有一个UIScrollView控件.我已经将标签的高度设置scrollview为包含它的高度,现在我需要确定填充标签的文本的正确高度(动态).因此,无论何时scrollView高度,标签内的文本高度都将匹配,宽度将扩展以防止文本截断(如下图所示).

我试过之类的东西sizeToFit,constrainedSize但我不能让它正常工作,就如何实现这样的任何方向?

在此输入图像描述

NAN*_*NAV 5

尝试这个简单的代码,它可以帮助您

 UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];
    label.backgroundColor=[UIColor clearColor];
    label.text= yourString;
    label.numberOfLines=0;
    label.adjustsFontSizeToFitWidth=YES;
    label.minimumFontSize=6;
    label.textAlignment=UITextAlignmentCenter;
    [self.View addSubview:label];

    CGFloat fontSize = 20;
    while (fontSize > 0.0)
    {
        CGSize size = [yourString sizeWithFont:[UIFont fontWithName:@"Rockwell-Bold" size:fontSize] constrainedToSize:CGSizeMake(label.frame.size.width, 10000) lineBreakMode:UILineBreakModeWordWrap];

        if (size.height <= label.frame.size.height) break;

        fontSize -= 1.0;
    }

    //set font size
    label.font = [UIFont fontWithName:@"Rockwell-Bold" size:fontSize];
    [label release];
Run Code Online (Sandbox Code Playgroud)