0

ユーザー入力を表示するために UILabel を使用しています。ユーザー入力が「xxxxx xxxx xxxx xxxx xxx xxxx xxx xxx」のような場合、UILabel に完全に表示されます。しかし、入力が「xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx」のようなものである場合、問題が発生します。このテキストは 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];
}

改行モードをUILineBreakModeCharacterWrapUILineBreakModeClipUILineBreakModeHeadTruncationUILineBreakModeTailTruncationおよびに変更しましたUILineBreakModeMiddleTruncation。しかし、問題はまだ残っています。問題は空白のない入力テキストにあることはわかっていますが、これを修正する方法. 解決策を見つけるのを手伝ってください。前もって感謝します。

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 に答える