ios根据字体大小设置

 1     static int size[] = {96, 72, 64, 48, 36, 24, 18, 14, 13, 12, 11, 10}; //这么多字体,从大到小挨个尝试
 2     static int array_length = 12;
 3 
 4     UIFont *font;
 5     
 6     for(int i = 0; i < array_length; i++)
 7     {
 8         font = [font fontWithSize:size[i]];
 9         //设定宽度,高度无限高
10         CGSize constraintSize = CGSizeMake(480.0f, MAXFLOAT);
11         
12         //计算实际需要得视图大小
13         CGSize labelSize = [text sizeWithFont:font constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
14         
15         //因为宽度已经限定了,所以判断高度是否符合需求,如果不符合,继续找更小得字体,如果符合,跳出循环
16         if(labelSize.height <= 320.0f)
17         {
18             break;
19         }
20     }
21 
22     label.font = font;
23     label.text = self.text;

 

posted @ 2013-12-03 16:37  wangzhenxiang  阅读(279)  评论(0编辑  收藏  举报