0

我正在使用 UILabel 来显示用户输入。如果用户输入像“xxxxx xxxx xxxx xxxx xxx xxxx xxx xxx”,它会完美地显示在 UILabel 上。但是当输入类似于“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”时会导致问题。此文本不会显示在 UILabel 上。

我将以下代码用于 UILabel 功能。

-(void)displayText:(NSString *)text
{
 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(75,50,30,50)];
 label.text = text;
 label.numberOfLines = 10;
 label.lineBreakMode = UILineBreakModeWordWrap;
 [self.view addSubview:label];
 [label release];
}

我已将换行模式更改为UILineBreakModeCharacterWrapUILineBreakModeClipUILineBreakModeHeadTruncation和。但问题仍然存在。我知道问题出在没有空格的输入文本上,但是如何解决这个问题。请帮我找到解决方案。提前致谢。UILineBreakModeTailTruncationUILineBreakModeMiddleTruncation

4

3 回答 3

1

您需要先找到文本的高度,然后需要将该高度分配给标签。

并设置 numberOfLines = 0;

你可以从这个函数中找到高度

 CGFloat height = [text sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(yourlabel.frame.size.width - 10, 9999) lineBreakMode:UILineBreakModeWordWrap].height;
于 2012-06-30T12:18:33.430 回答
0

您的文本大于标签的大小,您可以截断它(头部、中间、尾部),也可以缩小字体

于 2012-06-30T11:25:11.447 回答
0

替换[self.view addSubview:label];而不是[self.view addSubView:label];

我想这会对你有所帮助。

于 2012-06-30T11:26:24.530 回答