自适应宽高UILable

来源:互联网 发布:java mahout 编辑:程序博客网 时间:2024/05/16 10:45
http://blog.csdn.net/kindazrael/article/details/8054515 有时一个UILable的text内容是变化的,而且差异有很大, 需求上要求UILabel的大小高宽能够自适应text的内容。代码例子: myLable=[[UILabel alloc] initWithFrame:CGRectMake(0, 23, 175, 33)]; [myLable setFont:[UIFont fontWithName:@"Helvetica" size:10.0]]; [myLable setNumberOfLines:0]; [myLable setBackgroundColor:[UIColor clearColor]]; [myAdView addSubview:myLable]; UIFont *font = [UIFont fontWithName:@"Helvetica" size:10.0]; CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(175.0f, 2000.0f) lineBreakMode:UILineBreakModeWordWrap]; CGRect rect=myLable.frame; rect.size=size; [myLable setFrame:rect]; [myLable setText:text]; 核心的是 CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(175.0f, 2000.0f) lineBreakMode:UILineBreakModeWordWrap]; 来预算text显示时宽高。 其中font是显示的字体,constrainedToSize是最大可接受的字符串宽高(例子中是宽175,高2000) lineBreakMode换行类型(UILineBreakModeWordWrap指的单词边界换行)
原创粉丝点击