カスタムUITableViewCell
を作成していて、入力の長さに応じて可変の高さが必要な場合 (たとえば、Twitter リーダーなど)、どうすればこれを機能させることができますか?
ここで、標準の非カスタムセルに設定できる他の多くの例を見つけましたが、セルのメインテキストラベルは小さいなどなので、セルでこれらのメソッドのいずれかを使用しようとすると、さまざまな奇妙な結果が得られる (テキストがセルの下部に重なるなど)
セルを設計する標準化された方法はありますか (たとえば、Interface Builder でどのくらいの高さにする必要がありますか?)、ラベルがそのセルの幅の半分であるとしましょう.セルの高さを計算するにはどうすればよいですか?そのラベルに読み込まれた文字列を表示する必要がありますか? ここで私が見つけた方法は、通常のセルではうまく機能しますが、奇妙な高さ、テキストの重なりなどでカスタムのものを台無しにします:こちらもよろしくお願いします!)
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
CGSize textSize = {300.f, 200000.0f};
CGSize size = [[_quoteStringsFromPlist objectAtIndex: indexPath.row] sizeWithFont: [UIFont systemFontOfSize:12.0f] constrainedToSize: textSize lineBreakMode: NSLineBreakByWordWrapping];
size.height += 5.0f;
float result = MAX(size.height, 32.0f);
return result;
}