- 有时一个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指的单词边界换行)
posted @
2013-09-22 22:45
alincexiaohao
阅读(
147)
评论()
编辑
收藏
举报