Выглядит вполне толково, по идее должно работать, я бы тут предложил 2 варианта:
1. Дебажим. Ставим брейкпоинты, логируем и прочее.
2. В книжке видел пример для динамического расчета высоты ячейки.
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
static UILabel* label;
if (!label) {
label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, FLT_MAX, FLT_MAX)];
label.text = @"test";
}
label.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
[label sizeToFit];
return ceilf(label.frame.size.height * 1.7);
}
Сам пробовал - работает. Думаю, переделать увеличение высоты с
x1.7 на
+2margin проблем не составит.