0

現在、いくつかのテーブルビューを開発しています。いつも実装するのに時間を無駄にしているように感じheightForRowAtIndexPathます。高さを行の最大要素値にデフォルト設定する方法はありますか?これは、デフォルトのパディングを追加することyで明らかに構築されますか?cellForRowAtIndexPath

cellForRowAtIndexPathこのメソッドがデフォルトの iOS になく、開発者がメモリを消費しすぎる場合にこのメソッドをオーバーライドする可能性がある理由を自問しています。

4

1 に答える 1

0

次のコードは、 - への呼び出しを実装する方法を示していますheightForRowAtIndexPath

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
{
  NSString *text = [items objectAtIndex:[indexPath row]];

  CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f);

  CGSize size = [text sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];

  CGFloat height = MAX(size.height, 44.0f);

  return height + (CELL_CONTENT_MARGIN * 2);
}
于 2013-08-07T13:48:56.017 に答える