特定のアイテムの詳細を一覧表示する UITableView があります。一部の詳細は、正しく表示するために複数の行が必要です。
このコードを使用して、セルのサイズを動的に変更しています。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 1) return 320;
CGSize maxSize = CGSizeMake(280, MAXFLOAT);
CGSize cellSize = [[[appDelegate.callList objectAtIndex:callID] objectAtIndex:indexPath.row+1]
sizeWithFont:[UIFont systemFontOfSize:17]
constrainedToSize:maxSize
lineBreakMode:NSLineBreakByWordWrapping];
return cellSize.height+10;
}
Right Detail スタイルのセルです。他には何もありません。詳細テキストラベルはサイズ 17 のフォントです。
このコードを使用して、下のセルを切り取ったセルを取得します。
もちろん、最後に +10 を増やすだけでよいことはわかっていますが、そうすると、細胞が大きすぎて好みに合わなくなります。
どんな助けでも大歓迎です!
編集
問題が見つかりました。maxSize に設定された幅が大きすぎました。
以前に手動で入力せずに現在の詳細ラベルを見つける方法はありますか?