行の高さが異なる UITableView を作成したいのですが、UITableViewCells 内に UILabels を作成することでこれを達成しようとしています。
これまでの私のコードは次のとおりです。
- (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
----------------
これを適切に行う方法を知っている人はいますか?
ありがとう。