UILabel
「;」と言う特定の文字でテキストを分割する方法はありますか ??
ワードラップや文字ラップで壊れたくない。
もちろん、出現するすべての「;」を置き換えるだけです。文字列を表示する前に「;\n」を付けます。
改行を作成する(\r)
には、改行の代わりに使用できます。(\n)
に設定numberOfLines
する0
と、任意の数の行を許可できます。
yourLabel.numberOfLines = 0;
あなたの場合は With のよう;
に;\n
NSString *string = @"This; is a; NSString";
string = [string stringByReplacingOccurrencesOfString:@";"
withString:@";\n"];
;
この文字を使用して改行することはできません。行を改行したい場合は、この文字を\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);
改行文字と改行の組み合わせでできます。次のコードを確認してください。
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);