有時候我們需要UIlabel根據字數多少來減小字體大小,使得UIlabel能夠顯示全所有的文字。你需要做的就是設置minimumScaleFactor。minimumScaleFactor默認值是0,此時最小字體就是設置的字體大小,和1的效果一樣。
因此 1、0<minimumScaleFactor<1時才能達到效果。(字體10,想要最小字體5,設置0.5即可)
2、另外要設置adjustsFontSizeToFitWidth=YES.
3、還有需要UIlabel的行數是1的時候才有用,多行的label是不行的
demo:
UILabel *timeLabel=[[UILabel alloc]initWithFrame:CGRectMake(10, 0, 150, 15)];
timeLabel.text=@"測試測試測試測試測試測試測試01111";
timeLabel.font=[UIFont systemFontOfSize:10];
timeLabel.adjustsFontSizeToFitWidth=YES;
timeLabel.minimumScaleFactor=0.5;