0

次のように、配列内の多数の文字列から 1 つの長い文字列を作成しています。

oneString = @"First Line\n";
for (int i = 0; i < itemsToAdd.count; i ++){
    oneString = [NSString stringWithFormat:@"%@   %@\n", oneString, stringToAdd];
}

stringToAddラップするのに十分な長さになるまで、これはすべてうまく機能します。間のスペースに気付いた場合%@ %@、これはインデントとして機能しています。追加する文字列のほとんどは折り返されませんが、最初の行の後の各行の前にスペースを追加する方法を見つけようとしています。

この 1 つの長い文字列を作成する理由はtableViewCell、この文字列の長さに基づいて a のサイズを調整するために、その高さを計算するためです。itemsToAdd可変サイズの配列です。1 行の場合もあれば、15 項目以上になる場合もあります。

これはサンプル出力です:

First Line
   Item 1 is good
   Item 2 is fine
   Item 3 is long and it wraps so
it goes like this and it sucks
   Item 4 is fine
4

2 に答える 2

0

たとえば、NSParagraphStyle を使用して、テキスト レンダリング システムが理解できる方法でインデントを指定する必要があります。アプリがサポートする iOS のバージョンに応じて、セルにいくつかの変更を加える必要があります。サードパーティのラベル クラスまたは DTCoreText のようなフレームワークを使用することができます。

于 2013-05-26T06:43:12.860 に答える
0

タブスペースを挿入するには、次のようにしてください。

oneString = [NSString stringWithFormat:@"%@%8s\n", oneString, [stringToAdd UTF8String]];

タブスペースをUILabel.textに追加する方法から

于 2013-05-26T01:33:27.827 に答える