现在的位置: 首页 > 综合 > 正文

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

2013年10月09日 ⁄ 综合 ⁄ 共 1014字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.