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

这个东西真不错  特从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

你可能感兴趣的:(iOS UILabel自适应里面的文字,自动调整宽度和高度)