2

UILabel「;」と言う特定の文字でテキストを分割する方法はありますか ??

ワードラップや文字ラップで壊れたくない。

4

5 に答える 5

4

もちろん、出現するすべての「;」を置き換えるだけです。文字列を表示する前に「;\n」を付けます。

于 2013-05-09T10:02:01.900 に答える
2

改行を作成する(\r)には、改行の代わりに使用できます。(\n)

に設定numberOfLinesする0と、任意の数の行を許可できます。

yourLabel.numberOfLines = 0;

あなたの場合は With のよう;;\n

NSString *string = @"This; is a; NSString";

string = [string stringByReplacingOccurrencesOfString:@";"
                                     withString:@";\n"];
于 2013-05-09T10:09:48.167 に答える
1

;この文字を使用して改行することはできません。行を改行したい場合は、この文字を\n文字に置き換えます。

label.text=[label.text stringByReplacingOccurrencesOfString:@";" withString:@"\n"];

そして、作ります

label.numberOfLines = 0.

そして、ラベルフレームを更新します

CGSize labelSize = [label.text sizeWithFont:label.font  constrainedToSize:label.frame.size lineBreakMode:label.lineBreakMode];

label.frame = CGRectMake(label.frame.origin.x, label.frame.origin.y, label.frame.size.width, labelSize.height);
于 2013-05-09T10:09:46.227 に答える
0

改行文字と改行の組み合わせでできます。次のコードを確認してください。

self.testLabel.text = @"abc;\nabc;";

self.testLabel.numberOfLines = 0;

CGSize labelSize = [self.testLabel.text sizeWithFont:self.testLabel.font
                          constrainedToSize:self.testLabel.frame.size
                              lineBreakMode:self.testLabel.lineBreakMode];

self.testLabel.frame = CGRectMake(
                         self.testLabel.frame.origin.x, self.testLabel.frame.origin.y,
                         labelSize.width, labelSize.height);
于 2013-05-09T10:12:56.523 に答える