UITableViewCellコンテンツビューに追加されたUIViewをその境界内に収める方法は?
つまり、単一の NIB ファイル (3 つのラベルを含む) を作成し、これを UITableView の各セルの表示に使用したいと考えています。cellForRowAtIndexPath メソッドでカスタム NIB ベースのビューをセルのコンテンツ ビューに追加していますが、最終結果として表示されるのは 1 つのカスタム NIB ベースのビューだけです (期待したようにテーブルビュー内に複数ではありません)。
各カスタム ビューが各 UITableViewCell 内にきちんと収まるようにするにはどうすればよいですか? また、カスタム NIB ビュー内のラベルにはワード ラップがあることに注意してください。
カスタム NIB ビュー用のフレームを作成する必要がありますか? その場合、座標を設定する方法が正確にはわかりません。UITableViewCell に相対的でしょうか? UILabelのワードラップが原因でカスタムビューの高さが変わる可能性がある場合は、UITableViewでこの高さを手動で計算する必要があると思いますか? (おそらく、動的/カスタム ビューの作成に移動し、InterfaceBuilder/NIB を使用するという概念を削除する必要があります)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
UIView *detailedView = [[[NSBundle mainBundle] loadNibNamed:@"DetailedAppointView" owner:self options:nil] objectAtIndex:0];
[cell.contentView addSubview:detailedView]; // DOESN'T SEE TO WORK
return cell;
}