0

我有 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 的高度

这样就可以显示所有内容并且文本正好合适。

4

1 回答 1

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];
于 2013-02-01T18:53:36.340 回答