您的位置:首页 > 产品设计 > UI/UE

UILabel自适应里面的文字,自动调整宽度和高度

2011-09-18 08:37 330 查看
这个东西真不错 特从CC上转载过来

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:需要检查其执行效率。

trackback:http://willonboy.tk/post/2011/06/05/opengl-homogeneous-coordinate.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: