uilabel的动态大小

时间:2012-08-16 17:45:22

标签: height uilabel

我有uilabel,这个uilabel应该根据文本的长度成排。无论如何我不知道该怎么做。我已经在网上搜索了不同的解决方案,但没有找到任何可行的方法。目前我在这里这样做:

size_label = [[UILabel alloc] init];
size_label.frame = CGRectMake( 0, 0, 180, 10000);
size_label.font = [UIFont systemFontOfSize:15];
size_label.text = some_long_text;
size_label.numberOfLines = 10000;
[size_label sizeToFit];
NSLog(@"size_label.frame.size.height = %f", size_label.frame.size.height );

NSLog的结果始终为19.这不是我想要的,因为文本最不需要150像素。

我如何依赖:

  1. uilabel的宽度(宽度不得改变)
  2. 文字长度和uifont
    1. 行数
    2. uilabel的高度
    3. 这样所有内容都会显示出来并且文字很合适。

1 个答案:

答案 0 :(得分:1)

Foll代码可能有助于自动标记标签

UILabel *size_label = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, 180.0, 40.0);
size_label.font = [UIFont systemFontOfSize:15];
size_label.text = some_long_text;
size_label.numberOfLines = 0;

[size_label sizeToFit];