Я хочу создать UITableView с переменной высотой строки, и я пытаюсь сделать это, создав UILabels внутри UITableViewCells.
Вот мой код:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"EntryCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];
}
UILabel *textView = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 300, 40)];
textView.numberOfLines = 0;
textView.text = [entries objectAtIndex:[indexPath row]];
[cell.contentView addSubview:textView];
[textView release];
return cell;
}
Это дает мне 2 строки текста на ячейку. Однако каждая «запись» имеет различное количество строк, и я хочу, чтобы размеры UITableViewCells изменялись автоматически, при необходимости оборачивая текст без изменения размера шрифта.
[textView sizeToFit]
и / или [cell sizeToFit]
, похоже, не работают.
Вот как я хочу, чтобы UITableView выглядел:
----------------
Lorem ipsum
----------------
Lorem ipsum
Lorem ipsum
----------------
Lorem ipsum
Lorem ipsum
Lorem ipsum
----------------
Lorem ipsum
----------------
Lorem ipsum
Lorem ipsum
----------------
Кто-нибудь знает, как это сделать правильно?
Спасибо.