2010-04-09 4 views
1

Мне нужно представить некоторую информацию в виде таблицы, где некоторая информация довольно плоская, а другая довольно большая. то есть одна информация является просто строкой текста, а другая - тремя строками текста.Могу ли я иметь ячейки с разной высотой в UITableView?

Из того, что я знаю, UITableView запрашивает высоту всех ячеек. Так есть ли способ иметь клетки с разной высотой?

ответ

5

Да, см:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 

Пример реализации:

NSString *string...; 
CGFloat CellWidth...; 
CGSize size = [string sizeWithFont:[UIFont systemFontOfSize:14.0] 
       constrainedToSize:CGSizeMake(textWidth, MAXFLOAT) 
        lineBreakMode:UILineBreakModeWordWrap]; 
CGFloat height = size.height; 
if (height + 13.0) < 44.0) { 
    return 44.0; 
} 
return height + 13.0; 
1

Я согласен с Полл, но вы можете также подкласс, если вы хотите что-то дополнительное, чем просто изменение размера высоты. Просто подумайте о том, что еще вам может понадобиться. Удачи, какао иногда может быть настоящей болью.

Смежные вопросы