4

私はUILabelインスタンス、たとえばmylabelを持っています。

私がやりたいことはこのようなものです:

mylabel.text = @"Age\tLimit\tYear"; 

instead of  

mylabel.text = @"Age           Limit       Year";

しかし、試したところ、\tが認識されません。それを達成する方法は?

4

2 に答える 2

5

最初に文字列をフォーマットすることもできます

NSString *formattedString = [NSString stringWithFormat:@"Age%8s%8s",[@"Limit" UTF8String], [@"Year" UTF8String]];

mylabel.text = formattedString;

残念ながら、%@フォーマッタはフィールド幅を調整するためのスペースを追加しません。そこで、UTF8Stringと%s指定子を使用して幅を調整します。

注:幅は、出力する文字の最小数を指定し、通常、表形式の出力で固定幅のフィールドを埋めるために使用されます。それ以外の場合、フィールドは小さくなりますが、特大のフィールドは切り捨てられません。

于 2013-01-09T08:25:27.233 に答える
0

このようになるように、もう1つバックスラッシュを追加します。

mylabel.text = @"Age\\tLimit\\tYear"; 

そうすれば、「\t」として表されるタブとして解析されません。

ここにいくつかの詳細情報があります:RegexKitLiteを使用してNSStringの特殊文字をエスケープするにはどうすればよいですか? そしてここでも:Objective-CNSStringで特殊文字を書く方法

于 2013-01-09T07:55:36.177 に答える