Я думаю, что лучший способ - создать пользовательскую реализацию UITableViewCell
или программно добавить UILabel
s в contentView ячейки.
т.е:.
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 200, 30)];
label.text = @"MyText";
label.textColor = [UIColor blackColor];
[cell.contentView addSubview:label];
[label release]; // Never forget this!
При добавлении дополнительных строк вы должны обновить определение первой строки, чтобы корректно сместить новые строки. Например. второй ярлык должен выглядеть примерно так:
UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(5, 35, 200, 30)];
Когда вы закончите, вы должны реализовать метод tableView:heightForRowAtIndexPath:
в делегате таблицы, потому что вы должны определить правильную высоту для новой ячейки. В вашем примере для 4 меток вы должны реализовать что-то вроде этого:
- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath)indexPath {
if (is_one_of_my_modified_cells) {
return 35*4 + 5;
}
return 44; // default height
}
Попробуй и дай мне знать.