通常およびグループ テーブル ビューで、UITableViewCell が 1 行で (折り返しなしで) 占有できる文字数を知る標準的な方法はありますか? 基本的に、テキストのフォントサイズと文字数を含むグラフ。
2 に答える
UITableViewCell には文字などはありません。おそらく、UITableViewCell のインターフェイス オブジェクトの文字に関係しているもの - たとえば、おそらく UILabel です。セル - 少なくとも、あなたが質問を提起した方法 - は無関係です。
その場合、ラベルの機能を使用して、特定のテキストが折り返されるかどうかを知ることができます。プレーンな NSString を使用している場合は、NSString UIKit Additions Reference の文字列描画メソッドを参照してください。NSAttributedString を使用している場合は、NSAttributedString UIKit Additions Reference の描画メソッドを参照してください。特定の幅に制限されている場合に、特定の文字列が特定のフォントで、特定の改行オプションを使用してどのくらいのスペースを占めるかを示すメソッドが提供されます。ラベルからそのすべての情報を取得できます。ラベルが同じ文字列描画メソッドを使用することが保証されているため、正しい結果が得られます。
フォントが固定幅でない限り、文字数とテキスト サイズだけを使用することはできません。
表示する文字列を取得し、次を使用してそのサイズを尋ねる必要があります。
NSString *stringToCheck = @"...";
CGSize size = [stringToCheck sizeWithFont:[UIFont systemFontOfSize:[UIFont systemFontSize]]];
// Check the table view cell size available
CGSize cellSize = cell.contentView.bounds.size;