UITableView を使用して iOS アプリにデータを表示しています。問題は、cell.textLabel.text
andcell.detailTextLabel.text
が可変であることです。たとえば、電話番号のセルは「Phone1」または「Toll Free in the USA or Canada」のようになります。2 番目のケースでは、文字列を「Toll Free in the USA or Canada」のように編集したいと考えています。したがって、文字列を取り、カットする必要があるかどうかを判断し、必要な場合はカットする何らかのメソッドが必要です。
これが私がこれまでに持っているものです:
NSString *stringToCut; // This would be inputted
NSString *newString; // This is the resultant string
int maxLength = 15; // The maximum length.
if ([stringToCut length] > maxLength)
{
//This is the problem: How do I find a space (" ") near the middle?
int half = [stringToCut length]/2;
int locationOfSpaceNearHalf = ???
newString = [stringToCut subStringFromIndex:locationOfSpaceNearHalf];
newString = [newString stringByAppendingFormat:@"\n"];
newString = [newstring stringByAppendingString:[stringToCut subStringFromIndex:locationofSpaceNearHalf+1]];
}
else
{
newString = stringToCut;
}
return newString;
私が考えることができる唯一のことは、すべてのスペースの場所を生成するループを実行してから、途中で最も近いものを見つけることです。
アップデート
ここに 2 つの図があります。最初の図は、テキストに書式設定を行わなかった場合の外観です。2 つ目は、フォーマットがあればどうなるかです。
または、テキストをフォーマットするより良い方法はありますか?