调整UILabel(UITableViewCell的子视图)中的文本大小以适合宽度

时间:2013-06-17 04:38:29

标签: ios uitableview

我有UITableViewCell自定义,有时,UILabel中的文字UILabelUITableViewCell中的子视图)超出尺寸,并且它会得到一些点(如...)标签中。 我想调整字体大小以适应宽度。 但它不起作用。

这是我的代码 在UITableviewCell的类实现中

-(void) awakeFromNib{
    myLabel.minimumFontSize = 8;
    myLabel.adjustsFontSizeToFitWidth = YES;
}

请帮帮我!!!

3 个答案:

答案 0 :(得分:1)

试试这个简单的代码

 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];

答案 1 :(得分:0)

尝试这个...

    myLabel.numberOfLines=0;
    [myLabel sizeToFit];

答案 2 :(得分:0)

在First。在TableViewClass,在heightForRowAtIndexPath中,您必须根据heighttext计算label的{​​{1}}。 并使您的标签的autoLayout属性return。您无需重置flexible height的{​​{1}}。试试这个它会起作用....

相关问题