我有UITableViewCell
自定义,有时,UILabel
中的文字UILabel
是UITableViewCell
中的子视图)超出尺寸,并且它会得到一些点(如...)标签中。
我想调整字体大小以适应宽度。 但它不起作用。
这是我的代码 在UITableviewCell的类实现中
-(void) awakeFromNib{
myLabel.minimumFontSize = 8;
myLabel.adjustsFontSizeToFitWidth = YES;
}
请帮帮我!!!
答案 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
中,您必须根据height
和text
计算label
的{{1}}。
并使您的标签的autoLayout属性return
。您无需重置flexible height
的{{1}}。试试这个它会起作用....