首页 > 其他 > 详细

Label高度自适应

时间:2015-11-11 06:37:26      阅读:210      评论:0      收藏:0      [点我收藏+]
  1. 有时一个UILable的text内容是变化的,而且差异有很大,  

  2. 需求上要求UILabel的大小高宽能够自适应text的内容。代码例子:   

  3. myLable=[[UILabel alloc] initWithFrame:CGRectMake(0, 23, 175, 33)];   

  4. [myLable setFont:[UIFont fontWithName:@"Helvetica" size:10.0]];   

  5. [myLable setNumberOfLines:0];   

  6. [myLable setBackgroundColor:[UIColor clearColor]];   

  7. [myAdView addSubview:myLable];   

  8. UIFont *font = [UIFont fontWithName:@"Helvetica" size:10.0];   

  9. CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(175.0f, 2000.0f)   

  10.                                          lineBreakMode:UILineBreakModeWordWrap];   

  11. CGRect rect=myLable.frame;   

  12. rect.size=size;   

  13. [myLable setFrame:rect];   

  14. [myLable setText:text];  

  15.   

  16. 核心的是  

  17. CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(175.0f, 2000.0f)   

  18.                     lineBreakMode:UILineBreakModeWordWrap];  

  19. 来预算text显示时宽高。  

  20. 其中font是显示的字体,constrainedToSize是最大可接受的字符串宽高(例子中是宽175,高2000)  

  21. lineBreakMode换行类型(UILineBreakModeWordWrap指的单词边界换行)  


Label高度自适应

原文:http://10594302.blog.51cto.com/10584302/1711593

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!