0

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

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

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

请帮我!!!

4

3 回答 3

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];
于 2013-06-17T06:04:05.133 回答
0

首先。在你的TableViewClass,你必须根据你的和它heightForRowAtIndexPath来计算height你的。并使您的标签的 autoLayout 属性。您不需要重置您的. 试试这个它会工作....textlabelreturnflexible heightlabelframe

于 2013-06-17T06:57:11.163 回答
0

试试这个...

    myLabel.numberOfLines=0;
    [myLabel sizeToFit];
于 2013-06-17T04:46:29.587 回答