UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];//必须是这组值,这个frame是初设的,没关系,后面还会重新设置其size。
[label setNumberOfLines:0];
//必须是这组值
NSString *s = @"这个frame是初设的,没关系,后面还会重新设置其size。这个frame是初设的,没关系,后面还会重新设置其size。这个frame是初设的,没关系,后面还会重新设置其size。这个frame是初设的,没关系,后面还会重新设置其size。这个frame是初设的,没关系,后面还会重新设置其size。这个frame是初设的,没关系,后面还会重新设置其size。这个frame是初设的,没关系,后面还会重新设置其size。";
UIFont *font = [UIFont fontWithName:@"Arial" size:12];
CGSize size = CGSizeMake(320,2000);
CGSize labelsize =
[s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];
label.frame = CGRectMake(0.0, 0.0,
labelsize.width, labelsize.height
);
label.backgroundColor = [UIColor purpleColor];
label.textColor = [UIColor blackColor];
label.text = s;
label.font = font;
....//using the label. Such as add it to the super view.
[label release];//release the correct object.
下面代码获取NSString写进单行的宽度与高度:
CGSize singleLineStringSize = [s sizeWithFont:font];
ps:需要检查其执行效率。
转载地址:http://blog.sina.com.cn/s/blog_667126df0100x0um.html